SDM 프로젝트
확실히 프로젝트 경험이 중요하다고 느낀 계기였다. 그동안 배운거를 종합해서 내가 알아서 구글링이나 수업자료를 찾아가며 사이트를 만들다보니 그냥 공부만 했을때 보다 훨씬 실력이 많이 늘은것같다.
한달쯤 지나고 정리를 시작하려고 쭉 훑어보니 아쉬운점도 보이기도 해서 되돌아 보듯이 정리를 해보려한다.
깃허브 : https://github.com/JiWoong02/firstProjectSSM.git
1차 프로젝트의 개발 환경은 다음과 같다.
개발환경 : Eclipse
백엔드 : Spring, MyBatis프레임워크, JDBC
데이터베이스 : 오라클, sql developer
프론트 : jsp, ajax, jquery, javascript, html, css
서버 : 톰캣
먼저 프로젝트는 소상공인을 위한 ERP 라는 주제로 시작을 했고, "소상공인이 별도의 교육없이 사용할 수 있을만큼 쉽다"가 기능을 만들때 가장 중요시 했던 부분이다. 우리 웹 애플리케이션 하나로 직원관리, 예약관리, 재고관리를 할 수 있으며 웹 포스기까지 진행하여 별도의 포스기가 필요없도록 하고자 했다. 테이블은 다음과같이 설계했다.
원래는 매장번호&사용자번호 이런식으로 복합키를 사용해서 설계했으나, 강사님께서 그건 프렌차이즈 매장을 관리하는 시스템같다고 말씀해주셔서 매장관련 테이블은 모두 유저 전용으로 생성하기로 했다. 테이블은 각각 테이블명에 _유저번호를 붙여서 생성되게 했다. ( ex TB_EMPLOYEE_15) 테이블 생성은 회원가입을 함과 동시에 CREATE TABLE 프로시저를 실행시켜 위에 매장쪽에 보이는 15개의 테이블을 생성되게 하였다. 첫 프로젝트를 이렇게 하다보니 데이터베이스 설계부터 이후에 마이바티스에서 애를 많이 먹었다.
회원이 5명만 가입해도 테이블수가 어마어마 해진다..
나는 팀장으로서 관리자 파트와 전체적인 프로젝트 진행을 맡았다. 하는동안 내가 팀장으로서 잘하고 있는건지 내가 할 만한 실력이 되는지 계속 고민이 되었다. 사실 이부분은 지금 생각해보면 사실 전공자가 없는 우리조 모두 2~3달 배워서 진행하는 프로젝트였으니 이번기회에 해본것도 나쁘지 않았다는 생각이든다. 가장 힘들었을 때는 조원 한명이 도중에 수업을 포기했을때였다. 사연이 많아보이고 많이 바빠보였는데 설계와 역할분담이 모두끝나고 프로젝트 끝나기 2주일전쯤부터 나오지 않았다. 나도 아직 기능이 마무리가 안되었었고 다른 팀원들도 본인들의 기능도 기한안에 완성될지 미지수인 상황이어서 매우 곤란했다. 결국 나는 내 파트를 급하게 마무리하고 그 팀원 파트를 진행했지만 결국 프로젝트는 미완성으로 끝이났다.
돌이켜보면 내 기능과 그 팀원의 기능중 우선순위를 세워서 내 파트를 못하더라도 중요한 기능을 완성하는 쪽으로 진행하는게 좋지 않았을까 싶다.
다음 영상은 프로젝트를 마무리하고 난 후 시연영상이다.
▼ 각 파트에 대한 설명
1. 공지사항
공지사항 리스트/ 검색
https://datastory96.tistory.com/55
공지사항 배너
https://datastory96.tistory.com/62
공지사항 수정
https://datastory96.tistory.com/63
공지사항 삭제/삽입
https://datastory96.tistory.com/65
2. 불편사항
기본적인 CRUD는 공지사항과 모두 비슷하다.
조금 다른점들만 정리
게시글 상태 ajax로 변경하기
https://datastory96.tistory.com/66
불편사항 댓글
https://datastory96.tistory.com/67
불편사항 메인페이지에 표시하기
https://datastory96.tistory.com/68
3. 유저관리
ajax와 모달창을 활용한 유저 정지
https://datastory96.tistory.com/74
4. 구독상품 관리 및 결제
구독상품 추가, 수정, 삭제
https://datastory96.tistory.com/75
포트원을 사용한 상품결제
https://datastory96.tistory.com/76
5. 사이트 매출 그래프
https://datastory96.tistory.com/77
6. 웹 포스기 테이블 드래그앤드롭 구현