프론트엔드와 백엔드 서버를 나누어 작업했다.
프로젝트명 : dia배달 프로젝트(dia-delivery)
프로젝트 소개
- 회원가입 및 로그인을 하여, 메인페이지에서 다양한 가게와 상품을 보고 배달주문을 할 수 있도록 제작된 프로젝트
- 사장은 가게와 상품을 등록하고 고객은 상품을 주문, 리뷰작성 등을 할 수 있도록 함.
- 백오피스를 만들어 Admin 계정의 경우 모든 정보에 대한 관리가 가능하도록 함.
주요 구현 기능
- 사용자관리 : 회원가입, 가입 시 이메일 인증, 로그인, 프로필수정, 회원탈퇴 백엔드 기능 구현
- 주문관리 : 주문 담기, 상품 주문하기 백엔드 기능 구현
- 가게 등록 및 조회 : 메인화면에서 카테고리별 가게 조회, 가게 등록 및 삭제
- 상품 등록 및 조회 : 가게 등록 시 상품도 함께 등록, 가게별 상품 추가 등록 및 개별 상품 삭제
- 리뷰 관리 : 주문상품 별 리뷰 조회 및 등록 기능 구현
- 프론트엔드 화면 구현 : jquery와 ajax 사용하여 백엔드 서버와 통신, css 사용, Thymeleaf를 활용하여 백엔드에서 가져온 데이터를 표현
- 백오피스 기능 구현 : 회원 차단 기능 구현
가게별 스크랩 추가 및 취소 기능 구현
API 명세서 PostMan활용 명세서
https://documenter.getpostman.com/view/9928633/2s946eBZJQ
ERD (개체-관계 다이어그램)

image
깃허브
https://github.com/DiaDeliveryWeb
KPT
https://sisaac.tistory.com/33
Keep
-
협업 관리 툴을 적극적으로 사용하여 의사 소통하려 하고 실제로 적용했던 점
-
매일 정해진 시간에 진행상황공유
-
기획이나 기능구현에 있어 사소한 부분까지 팀원간에 소통하여 협의를 통해 진행했던 점
Problem
-
프론트 개발의 비중이 생각보다 너무 컸다.
-
트러블슈팅과 시행착오 과정을 깃헙 이슈나 슬랙 등으로 공유하지 못한 점
-
커밋을 자주 쌓지 못해서 다른 기능 구현에 어려움이 있었다.
-
s3 버킷에 사용하지 않는 이미지들이 쌓였다.
-
주문상태를 enum 타입으로 db에 저장(String)하여 성능 감소.
Try
-
프론트 개발보다는 백엔드 개발에 조금 더 집중한다.
-
트러블슈팅과 그에 대해 시도해본 과정과 해결방안등을 깃헙 이슈나 슬랙 등으로 공유한다.
-
완전한 코드가 아니여도 커밋을 자주 쌓으며 정리한다.
-
사용하지 않는 이미지들은 삭제한다.
-
attribute converter를 적용