Skip to content

kiosk-max-team5/kiosk-max-team-05

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

코드스쿼드 카페 키오스크 프로젝트

Build Status

2023 코드스쿼드 그룹 프로젝트, 카페 키오스크입니다.
카페 키오스크는 실제 키오스크를 모티브로 하여 카테고리별 상품 목록 조회 기능, 주문 기능, 영수증 확인 기능을 지원합니다. 당일 판매량이 높은 것부터 상품 목록이 출력되고, 상품을 주문하면 3-7초 동안 로딩 화면이 보입니다. 만약 주문 처리에 7초 이상이 걸린다면 오류 화면이 출력됩니다.

작업 기간

2023.06.19 ~ 2023.06.30

🧑🏻‍💻 팀원

프론트엔드 백엔드 백엔드 백엔드 백엔드
박하 시오 bean Hana 소나무

🎞 데모

249977089-bab4fd95-21e8-48f6-8ad9-94b00b07352e.mov

🛠️ 기술 스택

공통

Git GitHub

Infrastructure & CI/CD

FrontEnd

백엔드

⚙️ Infrastructure & CI/CD pipeline

kiosk-infra drawio-2

📜 ERD 설계 및 API 명세서

ERD

erd

API 명세

[GET] 상품 목록 조회
'/api/v1/products?category=coffee'
{
  "status": "P0001",
  "message": [
    {
      "id": 1,
      "name": "아메리카노",
      "price": 5000,
      "imageUrl": "https://www.coffeebeankorea.com/data/menu/%EC%95%84%EC%9D%B4%EC%8A%A4-%EC%95%84%EB%A9%94%EB%A6%AC%EC%B9%B4%EB%85%B8.jpg"
    },
    {
      "id": 2,
      "name": "카페라떼",
      "price": 5800,
      "imageUrl": "https://www.coffeebeankorea.com/data/menu/%EC%95%84%EC%9D%B4%EC%8A%A4-%EC%B9%B4%ED%8E%98%EB%9D%BC%EB%96%BC.jpg"
    }
  ]
}
[POST] 상품 주문
'/api/v1/orders' 
{
   "status" : "O0001",
   "message" : {
      "payment" : "card",
      "totalCost" : 9500,
      "inputCost" : 9500,
      "orderProducts" : [
          {
              "productId" : 1,
              "count" : 2,
              "size" : "큰거",
              "temperature" : "차가운것"
          },
          {
              "productId" : 2,
              "count" : 4,
              "size" : "큰거",
              "temperature" : "차가운것"
        }
    ]
  }
}
[GET] 주문 단건 조회
'/api/v1/orders/{id}'
{
  "status" : "O0002"
  "message": {
    "orderNumber": 3,
    "orderedProducts": [
      {
        "productName": "아메리카노",
        "count": 2
      },
      {
        "productName": "카페라떼",
        "count": 1
      }
    ],
    "payment": "card",
    "inputCost": 10000,
    "totalCost": 9500
  }
}

협업 전략

그라운드 룰

  • 오프라인에서 만날 수 있으면 만나기
  • 작업은 다같이 하기
  • 망해도 괜찮으니까 하고 싶은거 다 해보기
  • 너무 잘하려고 하지 않기

브랜치 구조

  • release : 배포 branch
  • dev : 기능 통합 개발 branch
    • fe : 프론트엔드 branch
    • be : 백엔드 branch
  • feature: 기능 개발 branch

컨벤션

커밋 컨벤션

feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 수정
style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
refactor : 코드 리펙토링
test : 테스트 코드, 리펙토링 테스트 코드 추가
chore : 빌드 업무 수정, 패키지 매니저 수정
  • prefix: [#이슈번호]

Naming Convention

 변수 명: camelCase
 메서드 명: camelCase
 DB 컬럼 명: snake_case
 DB 테이블 명 : snake_case

축약어를 사용하지 않는다(id 같이 모두가 아는 축약어는 사용 가능하다)

Issue Convention

[FE/BE] 작업한 내용

Custom Status Code

Custom Status Code

image

링크

About

코드스쿼드 첫번째 프로젝트 - 카페 키오스크

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 40.5%
  • Java 30.9%
  • CSS 18.7%
  • JavaScript 8.0%
  • Shell 1.4%
  • HTML 0.5%