Skip to content

2조 온라인으로 과자를 판매하는 관리자를 위한 사이트

Notifications You must be signed in to change notification settings

ssg-240304-java2/shop-ssgnack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

144 Commits
 
 
 
 
 
 

Repository files navigation

shop-ssgnack WMS

🍪온라인으로 과자를 판매하는 관리자를 위한 사이트

📋프로젝트 소개

  • 개발기간 : 2024.06.25 - 2024.06.27 (6일)
  • 온라인으로 과자를 판매하는 관리자를 위한 효율적인 재고 및 주문 관리 사이트 구축 프로젝트

📈주요 목적

  1. 재고 관리 최적화: 효율적인 재고 조회와 입고/출고 처리로 정확한 재고 상태 유지.
  2. 주문 및 제품 관리: 상품 등록, 수정, 삭제와 주문 처리 기능을 통해 간편한 제품 및 주문 관리.
  3. 매출 분석 및 보고: 다양한 기준으로 매출을 분석하여 판매 전략 수립에 필요한 통찰력 제공.

🛠️주요 기능

  • 재고 관리 : 재고 조회 기능 제공
  • 제품 관리 : 상품 조회, 등록, 수정 및 삭제 기능 제공
  • 주문 처리:
    • 입고 : 입고 처리 및 입고 내역 데이터 생성 (조회 기능 없음)
    • 출고 : 주문서 조회 및 출고 처리 후 주문서 상태 변경
  • 매출 보고 및 분석 : 기간별, 브랜드별, 제품별 및 전체 매출 조회 기능 제공
  • 로그인/회원가입 :
    • 관리자: 로그인 및 회원가입 기능 제공

🐬데이터베이스 구성

📂메뉴 구조도

📊기대효과

  • 운영 효율성 향상: 재고와 주문을 체계적으로 관리하여 작업 시간을 절약하고 운영 효율성을 높임.
  • 정확한 재고 및 주문 정보: 실시간으로 업데이트되는 정확한 재고 및 주문 정보로 관리 오류를 줄이고 고객 만족도를 향상.
  • 판매 전략 개선: 매출 분석을 통해 효과적인 판매 전략을 수립하고, 매출 증대와 비즈니스 성장에 기여.

🧑‍💻팀원 구성

  1. 고경호 (yoaruku)
  2. 김민규 (Gyunorld)
  3. 김성호 (OOOIOOOIO)
  4. 김의진 (dmlwls12)
  5. 임채웅 (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과 스프링이 이해가 잘 되지 않아서 복습이 필요한 것 같습니다.

About

2조 온라인으로 과자를 판매하는 관리자를 위한 사이트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6