- 개발기간 : 2024.06.25 - 2024.06.27 (6일)
- 온라인으로 과자를 판매하는 관리자를 위한 효율적인 재고 및 주문 관리 사이트 구축 프로젝트
- 재고 관리 최적화: 효율적인 재고 조회와 입고/출고 처리로 정확한 재고 상태 유지.
- 주문 및 제품 관리: 상품 등록, 수정, 삭제와 주문 처리 기능을 통해 간편한 제품 및 주문 관리.
- 매출 분석 및 보고: 다양한 기준으로 매출을 분석하여 판매 전략 수립에 필요한 통찰력 제공.
- 재고 관리 : 재고 조회 기능 제공
- 제품 관리 : 상품 조회, 등록, 수정 및 삭제 기능 제공
- 주문 처리:
- 입고 : 입고 처리 및 입고 내역 데이터 생성 (조회 기능 없음)
- 출고 : 주문서 조회 및 출고 처리 후 주문서 상태 변경
- 매출 보고 및 분석 : 기간별, 브랜드별, 제품별 및 전체 매출 조회 기능 제공
- 로그인/회원가입 :
- 관리자: 로그인 및 회원가입 기능 제공
- 운영 효율성 향상: 재고와 주문을 체계적으로 관리하여 작업 시간을 절약하고 운영 효율성을 높임.
- 정확한 재고 및 주문 정보: 실시간으로 업데이트되는 정확한 재고 및 주문 정보로 관리 오류를 줄이고 고객 만족도를 향상.
- 판매 전략 개선: 매출 분석을 통해 효과적인 판매 전략을 수립하고, 매출 증대와 비즈니스 성장에 기여.
- 고경호 (yoaruku)
- 김민규 (Gyunorld)
- 김성호 (OOOIOOOIO)
- 김의진 (dmlwls12)
- 임채웅 (ChaeUngLim)
- devtool : IntelliJ IDEA 2024.1.1 (Ultimate Edition)
- JAVA JDK: Temurin version '17.0.10'
- MySQL-connector-j : 8.0.33
- Mybatis : 3.5.6
- Build Tool : gradle
- Version Control : Git
- Communicate : Slack, Zoom, Kakaotalk
- Collaboration Tool : Figma, Github, Notion
├── HELP.md
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
└── main
├── java
│ └── com
│ └── ssgnack
│ ├── SsgnackApplication.java
│ ├── admin
│ │ ├── controller
│ │ │ ├── AdminController.java
│ │ │ └── dto
│ │ │ └── AdminFormDto.java
│ │ └── model
│ │ ├── dao
│ │ │ └── AdminMapper.java
│ │ └── service
│ │ └── AdminService.java
│ ├── common
│ │ └── paging
│ │ ├── Pagenation.java
│ │ └── SelectCriteria.java
│ ├── configuration
│ │ └── MybatisConfiguration.java
│ ├── inboundStock
│ │ ├── controller
│ │ │ └── InboundStockController.java
│ │ └── model
│ │ ├── dao
│ │ │ └── InboundStockMapper.java
│ │ ├── dto
│ │ │ ├── InboundDTO.java
│ │ │ └── StockDTO.java
│ │ └── service
│ │ ├── InboundStockService.java
│ │ └── InboundStockServiceImpl.java
│ ├── outbound
│ │ ├── controller
│ │ │ └── OutboundController.java
│ │ └── model
│ │ ├── dao
│ │ │ └── OutboundMapper.java
│ │ ├── dto
│ │ │ └── OutboundDTO.java
│ │ └── service
│ │ ├── OutboundService.java
│ │ └── OutboundServiceImpl.java
│ ├── product
│ │ ├── controller
│ │ │ ├── FileUploadController.java
│ │ │ └── ProductController.java
│ │ └── model
│ │ ├── dao
│ │ │ └── ProductMapper.java
│ │ ├── dto
│ │ │ ├── CategoryDTO.java
│ │ │ ├── CompanyDTO.java
│ │ │ └── ProductDTO.java
│ │ └── service
│ │ ├── FileUploadService.java
│ │ ├── ProductService.java
│ │ └── ProductServiceImpl.java
│ └── report
│ ├── controller
│ │ └── ReportController.java
│ └── model
│ ├── dao
│ │ └── ReportMapper.java
│ ├── dto
│ │ ├── ReportDTO.java
│ │ └── ReportResDTO.java
│ └── service
│ ├── ReportService.java
│ └── ReportServiceImpl.java
└── resources
├── application.yml
├── mappers
│ ├── AdminMapper.xml
│ ├── InboundStock.xml
│ ├── Outbound.xml
│ ├── ProductMapper.xml
│ └── ReportMapper.xml
├── static
│ ├── css
│ │ ├── admin
│ │ │ ├── global_login.css
│ │ │ ├── login.css
│ │ │ └── signup.css
│ │ ├── inboundStock
│ │ │ ├── global_InboundStock.css
│ │ │ ├── inbound.css
│ │ │ └── stock.css
│ │ ├── outbound
│ │ │ ├── global_outbound.css
│ │ │ ├── order.css
│ │ │ └── outbound.css
│ │ ├── product
│ │ │ ├── global_product.css
│ │ │ └── product.css
│ │ └── report
│ │ ├── brandGraph.css
│ │ ├── global_report.css
│ │ ├── monthlyGraph.css
│ │ └── productGraph.css
│ ├── global_login.css
│ ├── global_main.css
│ ├── img
│ │ ├── product
│ │ │ ├── administration-1@2x.png
│ │ │ ├── arrowchevrondown.svg
│ │ │ ├── customerloyalty-1@2x.png
│ │ │ ├── order-2@2x.png
│ │ │ ├── productmanagement-1@2x.png
│ │ │ ├── promotion-1@2x.png
│ │ │ └── vector.svg
│ │ └── public
│ ├── js
│ │ └── product
│ │ └── product.js
│ ├── login.css
│ ├── main.css
│ ├── main_img
│ │ ├── administration-1@2x.png
│ │ ├── arrowchevrondown.svg
│ │ ├── chart.svg
│ │ ├── customerloyalty-1@2x.png
│ │ ├── date-today.svg
│ │ ├── icon-lineexternal-link.svg
│ │ ├── img.svg
│ │ ├── order-2@2x.png
│ │ ├── package.svg
│ │ ├── productmanagement-1@2x.png
│ │ ├── promotion-1@2x.png
│ │ ├── svg.svg
│ │ └── vector.svg
│ ├── public
│ │ ├── administration-1@2x.png
│ │ ├── arrowchevrondown.svg
│ │ ├── chart.svg
│ │ ├── customerloyalty-1@2x.png
│ │ ├── date-today.svg
│ │ ├── icon-lineexternal-link.svg
│ │ ├── img.svg
│ │ ├── order-2@2x.png
│ │ ├── package.svg
│ │ ├── productmanagement-1@2x.png
│ │ ├── promotion-1@2x.png
│ │ ├── svg.svg
│ │ └── vector.svg
│ └── signup.css
└── templates
├── admin
│ ├── login.html
│ └── signup.html
├── common
│ ├── fragment
│ │ ├── README.md
│ │ ├── main.html
│ │ └── package.json
│ └── layouts
│ └── default.html
├── inboundStock
│ ├── inbound.html
│ ├── package.json
│ ├── public
│ │ ├── administration-1@2x.png
│ │ ├── arrowchevrondown.svg
│ │ ├── customerloyalty-1@2x.png
│ │ ├── order-2@2x.png
│ │ ├── productmanagement-1@2x.png
│ │ ├── promotion-1@2x.png
│ │ └── vector.svg
│ └── stock.html
├── outbound
│ ├── order.html
│ ├── outbound.html
│ ├── package.json
│ └── public
│ ├── administration-1@2x.png
│ ├── arrowchevrondown.svg
│ ├── customerloyalty-1@2x.png
│ ├── image-1@2x.png
│ ├── img.svg
│ ├── order-2@2x.png
│ ├── productmanagement-1@2x.png
│ ├── promotion-1@2x.png
│ └── vector.svg
├── product
│ ├── delete.html
│ ├── insert.html
│ ├── main.html
│ └── update.html
└── report
├── brandGraph.html
├── monthlyGraph.html
└── productGraph.html
- 상품 관리
- 상품 조회
- 상품 등록
- 상품 수정
- 상품 삭제
- 통계 및 분석
- 전체 매출 조회
- 상품별 매출 조회
- 브랜드별 매출 조회
- 기간별 매출 조회
- 로그인/회원가입
- 로그인
- 회원가입
- 재고관리, 입고, 출고
- ㅁ
- 출고
- ㅁ
- 새로 사용해보는 기술들이 많아 재미있었고 팀원들간 커뮤니케이션에 어려움이 없어서 마음 편하게 프로젝트에 임했던것같습니다. 팀원들 감사합니다. 추가하고싶은 기능이 많았는데 시간이 부족해 못넣어서 아쉬웠습니다. 다음 프로젝트때에는 부족한 부분을 강의를 찾아보고 보완하여 추가하고싶은 기능을 마음껏 추가해야겠다고 생각했습니다.
- 이번 프로젝트는 백엔드를 개발하는데 그치지 않고 실제 화면을 구현하는 부분이 포함되었다. 화면을 구성하는 과정이 쉽지 않았다. 직접 구성한 페이지를 HTML,CSS,JAVASCRIPT를 이용하여 제작하면서 화면 구성 방법을 알 수 있었다. 컨트롤러,매퍼와 같은 흐름을 파악하는데 많은 도움이 되는 프로젝트였다. 차트를 작성하면서 chart.js라는 것을 이용하면서 비동기에 대한 이해도가 높아졌다. 과정에서 사용한 ajax나 thymleaf에 대한 추가적인 학습은 필요하다는 생각을 하게 되었다.
- 팀원들과 함께 프로젝트를 진행하며 의사소통 능력을 키울 수 있었습니다.
- 프로젝트를 세 번째 진행하면서 자바 코드에 익숙해졌고 spring, mybatis 등 자바를 이용한 프레임워크를 사용함으로써 자바에 대한 이해도가 더 높아진 것 같다. 프론트와 백의 연결관계를 잘 몰랐는데, 기능의 전체 프로세스를 맡아 개발해보니 전반적인 코드의 흐름과 서버에 대한 이해도가 높아진 것 같다. 프론트를 작업하며 jquery를 사용해보니 javascript 언어의 용도를 이해할 수 있었고 프론트의 흐름을 알 수 있었다. 서버 구현에 재미를 느꼈고 다음 프로젝트 때는 부족한 점을 보완해서 더 완성도 있는 코드를 작성해야겠다고 생각했다.
- HTML과 스프링이 이해가 잘 되지 않아서 복습이 필요한 것 같습니다.
