Personal Role
서비스 구성
Monolithic Application
Layered Architecture: Controller, Service, Repository 계층으로
구성된 클린 아키텍처
Entity 및 DTO: 각 기능별로 Entity와 DTO(Data Transfer Object)를
분리하여 관리
API 설계: RESTful API 원칙에 따라 설계
핵심 기능
- 주문 관리
- 접근 권한 관리
- AI API를 연동해 가게 사장님이 상품 설명을 쉽게 작성할 수 있도록 지원
- 문의 게시판
- 백 오피스
개인 기여
- 문의 게시판
- AI API 조회, 삭제
- FrontEnd 백 오피스
세부 내용
- 문의 게시판: 고객이 문의를 접수하고, 상담사가 답변을 작성하도록 구현했습니다.
고객은 자신이 문의한 내역만 볼 수 있어야하고, 관리자는 모든 신고 내역을 확인할 수 있습니다.
- 가게 사장님이 AI API를 활용해 상품 설명을 요청한 내역을 조회할 수 있고, 관리자만 내역을 삭제할
수 있도록 구현했습니다.
- Vue를 활용해 백 오피스 관리자 화면을 구현했습니다.
백 오피스에서는 관리자 회원가입/ 로그인, 사용자 목록 조회와 가게 목록 조회, AI 요청기록 조회가
가능하고,
문의 게시판에 등록된 글을 조회한 후 답변을 남길 수 있습니다.
ERD
기능 소개
FrontEnd 백오피스
🖥️ 시연 영상:
https://www.youtube.com/watch?v=mY0nwKAMpck&t=3s
- 회원가입/로그인
모든 API를 호출할 때 로그인한 사용자의 jwt 토큰이 필요하기 때문에 로그인할 때 로컬 스토리지에
jwt 토큰과 사용자 이름을 저장한 후 로그인했을 때 메인 화면에 로그인한 사용자의 이름이 표시되도록 구현했습니다.
- 사용자 목록/ 상세 조회
- 문의 게시판 목록 조회
- 문의 게시글 상세 조회, 댓글 조회, 작성, 수정
문의 게시글 상세 조회 페이지에서 게시글 내용을 보여주고, 관리자가 작성한 답변 댓글을 목록으로 조회할 수
있도록 구현했습니다.
또한 관리자는 밑에 있는 댓글 작성 칸에서 새로운 댓글을 작성할 수 있으며, 작성한 댓글 옆에 삭제
버튼을 배치하여 작성한 댓글 삭제도 가능하도록 구현했습니다.
- 가게 목록/ 상세 조회
- AI 요청 기록 조회
BackEnd API
문의 게시판
공지사항을 제공하고, 고객이 신고를 접수할 수 있는 문의 게시판입니다.
고객은 자신이 작성한 문의 내역만 조회할 수 있고 관리자는 모든 내역을 조회할 수 있습니다.
- 문의 작성: POST/ api/v1/reports
- 문의 상세 조회: GET/ api/v1/reports/{reportId}
- 문의 상세 조회(관리자): GET/ api/v1/reports/admin/{reportId}
- 문의 목록 조회: GET/ api/v1/reports
- 문의 목록 조회(관리자): GET/ api/v1/reports/admin
- 문의 검색: GET/ api/v1/reports/search
- 문의 검색(관리자): GET/ api/v1/reports/admin/search
RequestParam으로 keyword를 입력받아 키워드가 title:로 시작될 때는 제목에서
검색,
content:로 시작될 때는 내용에서 검색하도록 구현했습니다.
페이징을 활용해 10건, 30건, 50건 기준으로 페이지에 노출될 수 있도록 하였고, 이외의 건수는
제한하여 기본 10건씩으로 고정하였습니다.
- 문의 수정: PUT/ api/v1/reports/{reportId}
- 문의 삭제: DELETE/ api/v1/reports/{reportId}
문의 삭제는 데이터 보존을 위해 데이터를 완전히 삭제하지 않고 사용자가 삭제했을 때 deleted_at을
기록해 숨김 처리를 하도록 구현했습니다.
문의 게시판 - 답변
- 문의 답변 작성: POST/
api/v1/report/admin/{reportId}/feedback
- 문의 답변 수정: PUT/ api/v1/report/admin/{reportCommentId}
- 문의 답변 조회: GET/
api/v1/report/admin/{reportId}/feedback
- 문의 답변 전체 조회: GET/ api/v1/report/admin
- 문의 답변 삭제: DELETE/
api/v1/report/admin/{reportCommentId}
AI History
- AI 요청 기록 조회(관리자): GET/ api/v1/ai/admin/ai-request
- AI 요청 기록 조회(가게 주인): GET/ api/v1/ai/ai-request
- AI 요청 기록 삭제(관리자): DELETE/ api/v1/ai/{airequestId}
주문 배달 플랫폼
O2O 주문 배달 플랫폼을 스프링 부트 기반의 모놀리식 아키텍처로 개발한 팀 프로젝트 입니다.