Blog
ℹ️

CafeService S.A

0. About “Team HCD”

Team HCD”란..

HCD(Human-centered design)” 는 디지털 혁신 프로젝트의 요소로 부상”하고 있는 인간 중심 디자인을 뜻합니다.
고객 경험(CX)을 향상시킬 줄 아는 개발자로 성장하자는 의지를 담고 있습니다.
팀이름의 비밀
저희 팀은 Java 프로그래밍 언어 기반의 백엔드 개발자 3명으로 이루어진 팀입니다. SpringBoot 프레임워크를 중심으로 다양한 도전을 진행하고 있습니다.

팀구성

기획, 설계 과정 팀 활동 링크

참고 링크

프론트엔드 참고자료

메뉴 목차(바로가기)

3.

Ground Rule

팀원 모두 해당 규칙 토글을 열고 내용을 확인하시길 바랍니다. (중요!)
Ground Rule
Git&Github 총괄 규칙
코드 컨벤션
개인 일정 참고용

 완성!

URL
시연영상

1. 프로젝트 주제

어떤 주제로 프로젝트를 진행할 예정인지, 간단히 설명을 작성해주세요!
한줄 요약 : 카페 원클릭 서비스
상세 설명 :
커피 및 차, 그리고 디저트와 같은 카페 메뉴를 전문적으로 주문을 받고 배달하는 웹 서비스
전문적인, 장인정신이 있는 개인 카페 사장님들이 입점
기존의 배달앱들은 너무 많은 정보가 있었지만!
편안한 커피타임만을 위한 카페 카테고리만 집중공략!
프로젝트 개요 자세히보기(토글)

2. 페이지별 와이어프레임

와이어프레임
와이어프레임 구상
2.54 MB • presentation • https://docs.google.com

3. 상세 TASK

Search
WBS / TASK 정리

[기능 구현 체크리스트]

 Front-end
메인 인덱스
BootStrap Template 선정 및 프로젝트 테스트
기초 와이어프레임 설계
가게 검색 기능
가게 리스트 보여주기
메뉴와 리뷰 페이지를 따로 구분하지 않기 위해 인덱스에서 모두 처리 할 생각
가게에 포함된 메뉴 연결시킬지 생각
가게에 포함될 리뷰 연결시킬지 생각
세부 기능별 페이지 (기초템플릿을 최대한 활용해서 재생산 할 예정)
회원 가입 및 로그인
회원가입 폼(기초템플릿활용)
로그인 폼(기초템플릿활용)
사업장 등록 (BIZ회원되기)
메뉴
메뉴 등록 폼
메뉴 리스트(메인으로갈수있음)
주문
주문 폼
주문 리스트
리뷰
리뷰 폼
리뷰 리스트(메인으로갈수있음)
검색
키워드 검색으로 가게검색 및 리스트
 Back-end
로그인 및 회원가입 (공통)
유저 / 비즈니스 계정 회원가입
회원가입 이메일 인증
사이버 화폐 지급 / 포인트로 만들기
로그인
로그아웃
검색 기능 (공통)
키워드 기반으로 음식점 검색
사업장 기능 (BIZ)
가게 등록/수정/삭제
업장 중복 불가
업장 조회는 모두 가능 (User)
메뉴 기능 (BIZ)
메뉴 등록/수정/삭제
메뉴 이름 중복 불가
메뉴 조회는 모두 가능 (User)
주문 기능 (BIZ)
주문 확인 기능(조회시 null 값 확인)
주문 현황 기능(배달 완료)
주문 완료 시 가격 입금
 Back-end
주문 기능 (User)
메뉴 주문
잔여 포인트로 메뉴 주문 / 결제
포인트 차감은 트랜젝션 활용
주문 완료
리뷰 기능 (User)
리뷰와 평점 작성/수정/삭제
리뷰 조회는 특정 가게의 리뷰들 조회
 Back-end / 챌린지
우선순위 최우선 이번 챌린지 목표
작업의 고도화
테스트 코드 도입하기
Jmeter 사용해 보기?
아래는 목표 외 추가 기능(추가안될가능성 높음)
주문 완료 시 알림 기능 (WebSocket)
사장님 - 주문 완료 시 알림 기능
고객님- 배달완료 시 알림 기능
음식점 랭킹 기능
매출액 기준 음식점 랭킹 기준
사장님 순수 잔액 포인트가 기준 X
작업의 고도화
CI/CD 파이프라인 구축 > 배포 자동화
더미 데이터 활용하기

4. API 설계

Search
구분
기능
사용자유형
진행상황
method
url
Request Header
request
response
HttpStatus
요구사항
담당자
보조담당자
Frontend
All User
Done
GET
/
“index”
citeFred
citeFred
Frontend
All User
Done
GET
/api/auth/signup
“signup-form”
해찬 이
해찬 이
citeFred
citeFred
Backend
All User
Done
POST
/api/auth/signup
{ ”username”:”String”, ”email”:””String, ”password”:”String”, ”registNum”:”String” }
{ msg:”회원가입 완료”, statusCode:200 }
회원가입 시 이메일 인증 기능 “고객님”으로 가입 시 100만 포인트를 지급 BIZ유저인 경우, 아래 입력해야함 ◦ 사업자등록번호(registNum)
해찬 이
해찬 이
citeFred
citeFred
Frontend
All User
Done
GET
/api/auth/login
“login-form”
해찬 이
해찬 이
citeFred
citeFred
Backend
All User
Done
GET
/api/auth/logout
{ msg:”로그아웃됬습니다.”, statusCode:200 }
citeFred
citeFred
해찬 이
해찬 이
Backend
All User
Done
POST
/api/auth/login
{ ”email”:””String, ”password”:”String” }
{ msg:”로그인 성공”, statusCode:200 }
해찬 이
해찬 이
citeFred
citeFred
Frontend
BIZ
Done
GET
/api/sotres/add-stores
Authorization : Bearer bizuser~
“add-stores”
구리 예
구리 예
Backend
BIZ
Done
POST
/api/stores
Authorization : Bearer bizuser~
{ ”storeName”:”String”, ”storeAdress”:”String”, ”information”:”String”, }
{ msg:”카페를 등록하였습니다.”, statusCode:200 }
“사장님”은 업장 정보를 오직 1개만 갖고 있을 수 있어야 합니다. ◦ 가게이름 ◦ 가게주소 ◦ 가게소개
구리 예
구리 예
Backend
All User
Done
GET
/api/stores
[{ ”storeName”:”String”, ”storeAdress”:”String”, ”information”:”String”, }]
구리 예
구리 예
Backend
All User
Done
GET
/api/stores/{id}
쿼리문 “사장님” 및 “고객님”은 키워드 기반으로 음식점을 검색하여 볼 수 있어야 합니다.
{ ”storeName”:”String”, ”storeAdress”:”String”, ”information”:”String”, }
구리 예
구리 예
Backend
BIZ
Done
Put
/api/stores/{id}
Authorization : Bearer bizuser~
{ ”storeName”:”String”, ”storeAdress”:”String”, ”information”:”String”, }
{ ”storeName”:”String”, ”storeAdress”:”String”, ”information”:”String”, }
구리 예
구리 예
Backend
BIZ
Done
Delete
/api/stores/{id}
Authorization : Bearer bizuser~
{ ”password”:”String” }
구리 예
구리 예
Frontend
BIZ
Done
GET
/api/menus/add-menus
“add-menus”
citeFred
citeFred
해찬 이
해찬 이
Backend
BIZ
Done
POST
/api/menus
Authorization : Bearer bizuser~
{ ”menuName”:”String”, ”image”:”String”, ”price”:”int” }
{ msg:”메뉴를 동록했습니다.”, statusCode:200 }
• 메뉴 정보는 다음과 같습니다. ◦ 메뉴 이름 ◦ 이미지 ◦ 가격 업장 내에서 동일한 메뉴 이름으로는 재등록이 되지 않습니다.
해찬 이
해찬 이
Backend
All User
Done
GET
/api/menus
{ ”menuName”:”String”, ”image”:”String”, ”price”:”int” }
해찬 이
해찬 이
Backend
All User
Done
GET
/api/menus/{id}
쿼리문 “사장님” 및 “고객님”은 키워드 기반으로 메뉴를 검색하여 볼 수 있어야 합니다.
해찬 이
해찬 이
Backend
BIZ
Done
Put
/api/menus/{id}
Authorization : Bearer bizuser~
{ ”menuName”:”String”, ”image”:”String”, ”price”:”int” }
{ ”menuName”:”String”, ”image”:”String”, ”price”:”int” }
해찬 이
해찬 이
Backend
BIZ
Done
Delete
/api/menus/{id}
Authorization : Bearer bizuser~
{ ”password”:”String” }
{ msg:”메뉴가 삭제됬습니다.”, statusCode:200 }
해찬 이
해찬 이
Frontend
USER
In progress
GET
/api/orders/add-orders
“add-orders”
구리 예
구리 예
Backend
USER
In progress
POST
/api/orders
{ ”menuId”:”Long”, ”storeId”:”Long” }
{ ”menuName”:”String”, ”orderDate”:”LocalDtaeTime, }
구리 예
구리 예
Backend
All User
In progress
GET
/api/orders
Authorization : Bearer user~
{ ”menuName”:”String”, ”orderDate”:”LocalDateTime”, ”price”:”int” }
구리 예
구리 예
Backend
BIZ
In progress
GET
/api/orders/stores
Authorization : Bearer bizuser~
[{         "id": Long,         "contents": null,         "orderStatus": "DELIVERY_COMPLETED"     }]
구리 예
구리 예
Backend
BIZ
In progress
Put
/api/orders/{id}
Authorization : Bearer bizuser~
{ ”contents”:”String”, ”orderstatus”:”enum” }
{ ”menuName”:”String”, ”price”:”int” }
사장님 → 조리중, 배달완료
구리 예
구리 예
Backend
All User
In progress
Delete
/api/orders/{id}
Authorization : Bearer user~orbizuser~
{ ”contents”:”String” }
{ msg:”주문을 취소하였습니다.”, statusCode:200 }
구리 예
구리 예
BE Not started
Frontend
USER
Done
GET
/api/stores/{store_id}/reviews
“add-reviews”
citeFred
citeFred
Frontend
USER
Done
GET
/api/reviews/{store_id}/modify-reviews
“modify-reviews”
citeFred
citeFred
Backend
USER
Done
POST
/api/reviews/{store_id}
Authorization : Bearer abcd~
{ ”review”:”String”, ”star”:”int” }
{ msg:”리뷰가 등록되었습니다.”, statusCode:200 }
citeFred
citeFred
Backend
USER
Done
Put
/api/reviews/{id}
Authorization : Bearer abcd~
{ ”review”:”String”, ”star”:”int” }
{ ”review”:”String”, ”star”:”int” }
citeFred
citeFred
Backend
All User
Done
GET
/api/reviews/{store_id}
{[ ”review”:”String”, ”star”:”int” ]}
citeFred
citeFred
Backend
USER
Done
Delete
/api/reviews/{id}
Authorization : Bearer abcd~
{ msg:”리뷰가 삭제되었습니다.”, statusCode:200 }
citeFred
citeFred
Backend
All User
Done
GET
/search/stores-and-menus?keword={keword}
citeFred
citeFred
Frontend
All User
Done
GET
citeFred
citeFred

5. ERD

[ERD diagram]

[ERD diagram 2023.9.12 - 1차]
[ERD diagram 2023.9.20 - 2차]
[ERD diagram 2023.9.24 - 3차]

6. 코드 리뷰 일지

Search
코드리뷰 내용
작성자
날짜
진행상황
관련 Github 링크
비고
해찬 이
해찬 이
2023/09/16
Done
jwt 기존 코드 수정이라 참고하시면 좋을 것 같습니다.
해찬 이
해찬 이
citeFred
citeFred
2023/09/18
Done
citeFred
citeFred
2023/09/18
Done
오류 부분 수정 및 핸들러를 통한 msg:httpStatusCode 반환
Not started

7. 멘토링 일지

Search
피드백 내용
작성자
멘토링 날짜
진행상황
Search
피드백 내용
작성자
멘토링 날짜
진행상황

8. TIL기록 및 메모기록

Search
작성날짜
메모남길것~
작성자
최종 편집 일시
2023/09/16
citeFred
citeFred
2023/09/17 13:48
2023/09/19
해찬 이
해찬 이
2023/09/19 11:43
2023/09/22
해찬 이
해찬 이
2023/09/26 09:39
2023/09/24
citeFred
citeFred
2023/09/25 00:09
2023/09/27
citeFred
citeFred
2023/09/29 01:01