Skip to content

prgrms-be-devcourse/NBE7-9-1-Team06

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☕️ Grids & Circles

작은 로컬 카페 'Grids & Circles'를 위한 카페 원두 메뉴 관리 및 주문 서비스


📓 프로젝트 개요

Grids & Circles는 SpringBoot 기반의 온라인 원두 메뉴 관리 및 주문 시스템입니다. 사용자는 이메일을 통해 주문을 생성·조회·수정·취소할 수 있고, 관리자는 상품을 관리하며 전날 오후 2시부터 당일 오후 2시까지의 주문을 모아 배송 처리합니다.


🧑‍🧑‍🧒‍🧒 팀 소개 및 역할

박준석정혜연이현김나현조영주




팀장팀원팀원팀원팀원
프론트엔드 전반적 구현
백엔드 연동
[사용자]
주문 생성
주문 목록 및 상세 조회
주문 수정
주문 삭제
주문 상태 스케줄링
[관리자]
SpringSecurity/JWT
관리자 로그인
주문 조회
주문 취소
합배송 처리
[사용자]
상품 목록 및 상세 조회
[관리자]
상품 등록
상품 수정
상품 삭제
[관리자]
상품 등록
상품 수정
상품 삭제

🛠️ 기술 스택

java springboot springsecurity React vite TypeScript thymeleaf mysql h2 docker github


📌 핵심 기능

👤 사용자

  • 이메일을 통한 비회원 주문
  • 상품 조회
  • 주문 생성·조회·수정·취소
  • 주문 수정과 취소는 오후 2시 이전에만 가능

👨‍💻 관리자

  • Spring Security + JWT
  • 상품 등록·조회·수정·삭제
  • 주문 조회
  • 주문 상태 변경(Confirmed/Preparing/Shipped/Delivered)
  • 오후 2시를 기준으로 주문 상태 PENDINGCONFIRMED 자동 전환

📁 프로젝트 구조

backend/
├── src/main/java/com/backend
│   ├── domain
│   │   ├── admin
│   │   │   ├── controller
│   │   │   ├── dto
│   │   │   ├── entity
│   │   │   ├── repository
│   │   │   └── service
│   │   │── order
│   │   │   ├── controller
│   │   │   ├── dto
│   │   │   ├── entity
│   │   │   ├── repository
│   │   │   ├── scheduler
│   │   │   └── service
│   │   └── product
│   │       ├── controller
│   │       ├── dto
│   │       ├── entity
│   │       ├── repository
│   │       └── service
│   └── global
│       ├── config
│       ├── exception
│       ├── initData
│       ├── rsData
│       └── util
├── src/main/resources/
│   ├── application.yml
│   ├── static/
│   │   ├── css/
│   │   │   └── admin.css
│   │   ├── js/
│   │   │   ├── auth.js
│   │   │   ├── ui.js
│   │   │   ├── orders.js
│   │   │   └── products.js
│   │   └── images/
│   └── templates/
│       ├── fragments/
│       │   ├── layout.html
│       │   └── nav.html
│       ├── admin/
│       │   ├── dashboard.html
│       │   ├── orders.html
│       │   └── products.html
│       └── login.html
│
└── build.gradle.kts

frontend/
├── public
│   └── vite.svg
├── src
│   ├── assets
│   │   └── react.svg
│   ├── pages
│   │   ├── Home.tsx
│   │   └── ProductDetail.tsx
│   ├── services
│   │   ├── api.ts
│   │   └── index.ts
│   ├── ui
│   │   ├── OrderHistoryPanel.css
│   │   ├── OrderHistoryPanel.tsx
│   │   ├── ProductCard.tsx
│   │   ├── ProductDetailPanel.tsx
│   │   └── SidePanel.tsx
│   ├── App.css
│   ├── App.tsx
│   ├── index.css
│   ├── index.tsx
│   ├── main.tsx
│   ├── mockData.ts
│   ├── types.ts
│   ├── utils.ts
│   └── vite-env.d.ts
├── .gitignore
├── eslint.config.js
├── index.html
├── package-lock.json
├── package.json
├── README.md
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts

🗄️ ERD

ERD

⚙️ 시스템 아키텍처

시스템구성도

📃 커밋 컨벤션 & 협업 규칙

GitHub Flow(main/feature + develop)

이슈 생성 → 브랜치 생성 → 구현 → Commit & Push → PR 생성 → 코드 리뷰 → develop에 Merge

  • main: 배포용 안정 브랜치
  • develop: 기능 통합 브랜치
  • feat/backend-{작업자}-{user/admin}-{domain}: 기능 단위 작업 브랜치

커밋 컨벤션

유형 설명
feat 새로운 기능
fix 버그 수정
docs 문서 변경(README 등)
style 포맷/스타일(기능 변경 없음)
refactor 리팩토링(동작 변경 없음)
test 테스트
chore 빌드/설정/의존성
remove 파일/폴더 삭제
rename 파일/폴더명 변경

About

프로그래머스 데브코스 7기 9회차 6팀 1차 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5