- 개발기간 : 2024.05.16 - 2024.05.21 (일)
- 각 가맹점의 재고 요청을 받아들이고 필요한 재고를 본사에서 출고 처리하는 시스템입니다. 전체 주문 데이터를 확인하여 상품별 매출, 가맹점별 매출 등 다양한 카테고리를 기준으로 분석할 수 있습니다.
- 연주현 (DISNOTACAT)
- 고유진 (yujin4sth00)
- 김성호 (OOOIOOOIO)
- 서윤정 (yj0318)
- 좌상현 (sanghyeonJwa)
- 김민규 (Gyunorld)
- Develop : JAVA17 , MYSQL8 , MYBatis , Gradle , Intellij
- Version Constrol : Git
- Communicate : Slack, Figjam, Notion
├─.gradle
│ ├─8.4
│
└─src
├─main
│ ├─java
│ │ └─com
│ │ └─abc3355
│ │ └─abc_wms_system
│ │ ├─common
│ │ ├─orderForm
│ │ │ ├─controller
│ │ │ ├─model
│ │ │ │ ├─dao
│ │ │ │ ├─dto
│ │ │ │ └─service
│ │ │ └─view
│ │ ├─orderProcess
│ │ │ ├─controller
│ │ │ ├─model
│ │ │ │ ├─dao
│ │ │ │ ├─dto
│ │ │ │ └─service
│ │ │ └─view
│ │ ├─Product
│ │ │ ├─controller
│ │ │ ├─model
│ │ │ │ ├─dao
│ │ │ │ ├─dto
│ │ │ │ └─service
│ │ │ └─view
│ │ ├─run
│ │ ├─salesManager
│ │ │ ├─controller
│ │ │ ├─model
│ │ │ │ ├─dao
│ │ │ │ ├─dto
│ │ │ │ └─service
│ │ │ └─View
│ │ ├─searchProduct
│ │ │ ├─controller
│ │ │ ├─model
│ │ │ │ ├─dao
│ │ │ │ ├─dto
│ │ │ │ └─service
│ │ │ └─view
│ │ └─user
│ │ ├─controller
│ │ ├─model
│ │ │ ├─dao
│ │ │ │ └─UserInsert
│ │ │ └─dto
│ │ ├─service
│ │ └─view
│ └─resources
│ └─sql
│ ├─orderForm
│ ├─orderProcess
│ ├─product
│ ├─salesManager
│ ├─searchProduct
│ └─userLogin
└─test
└─java
└─com
└─abc3355
└─abc_wms_system
├─orderForm
│ └─mapper
├─orderProcess
│ └─mapper
└─product
└─mapper
- 가맹점
- 로그인(코드방식)
- 본사
- 로그인
- 가맹점 등록
- 가맹점 삭제
-
상품 조회 관련
- 상품 전체 조회
- 상품 상세 조회
- 품절 상품 조회
- 재고 조회
- 전체 재고 확인
- 상세 재고 확인
- 가맹점
- 로그인 (계정 방식)
- 주문서 작성
- 주문서 작성하기
- 주문 상품 리스트
- 주문서 발송
- 주문 관리
- 주문내역 처리
- 주문 처리
- 주문 수정
- 주문 삭제
-
상품 관리
- 상품등록
- 상품 수정
- 상품 삭제
- 입고 기록 등록
- 입고 기록 조회
- 매출 관리
- 가맹점별 주문 조회
- 전체 출고량 조회
- 상품별 출고량 조회
MYSQL과 JAVA를 연동해서 하는 프로젝트는 처음이여서 그런지 어려운 점이 많았다.
개인적으로 이번 프로젝트를 하면서 아쉬었던 점은 구조에 대한 이해가 적었고 MYBatis에 대한 이해도가 낮았다.
다음 프로젝트 때는 더 구조를 명확하게 이해 하고 명세화 해야 겠다.
프로젝트에서 직접 ERD를 작성해 DB를 설계하고, MyBatis와 MySQL를 이용하여 데이터를 직접 사용해보며 데이터 관리에 대한 흥미가 높아졌습니다.
여러 개의 테이블을 참조하여 '매출 관리' 관련 테이블을 조회하는 것에는 큰 어려움이 없었으나, '주문서 작성'에서 List와 Map을 활용한 데이터를
받아 쿼리문에 적용하는 것은 자료조사가 많이 필요했습니다. 앞으로는 쿼리문을 보다 간결하고 효율적으로 작성할 수 있도록 공부하고 적용해보고 싶습니다.
실행하는 순간 처음 보이는 메뉴를 담당하게 되어서 시작이 부담스러웠고 원하는 테이블의 정보를 쿼리문을 사용하여
적절하게 갖고 와 응용하고 사용하는 부분에서 초반에 헤맸지만 그 과정에서 클래스들의 구조와 흐름, DB 다루는 방법을 확실하게 알게 되었고
BRANCH를 따로 관리하면서 처음에 어려웠지만 사용하다 보니 코드 관리가 편해서 많은 것을 배울 수 있었습니다.
WMS에 대해 이해할 수 있었고 새로운 도메인 지식을 배울 수 있어 뜻깊었다.
MyBatis 활용법을 습득할 수 있었고 다음번엔 좀 더 복잡한 쿼리문을 다뤄보고 싶다.
팀원들과 함께 전체적인 프로젝트 과정을 경험하면서 좋은 연습 기회를 가질 수 있었습니다. 지금까지 배운 내용을 실제 결과물로
만들어보니까 DB 활용 능력에 도움이 되었고, 제가 부족한 부분과 더 공부해야 할 부분도 알게 되었습니다.
몇 가지 아쉬웠던 점도 있었습니다. 프로젝트 구조에 대해 좀 더 많이 논의했다면, 더 짜임새 있는 결과물이 나왔을 것 같고
코드를 작성할 때 비슷한 메서드를 많이 만든 것 같아 재사용성 측면에서 좀 부족했던 것 같습니다.
이번 프로젝트를 통해 배운 점들을 잘 보완해서, 다음 프로젝트에서는 더 좋은 결과물을 만들도록 노력하겠습니다.
이전의 프로젝트들과 달리 DATA를 사용한 프로젝트였는데 DATA에 대한 많은 이해가 필요했다.
JAVA로 코드를 구성하는 것은 이전의 프로젝트보다 수월했지만 새롭게 사용한 MyBatis에서 어려움을 많이 겪었다.
특히 쿼리문은 오류를 찾기가 어려워서 문제가 생겼을 때 인지하고 수정하는데 오랜 시간이 걸렸다.
그래도 이번 경험을 통해서 쿼리문의 작성에 대한 많은 배움을 얻었다.
그리고 브랜치를 만들어서 작업했는데 깃의 조작에는 어려움이 있었지만 작업의 편의성은 크게 개선되었다.