꿈이 크다란 우리들
본 프로젝트는 학습 목적으로 조구만 스토어를 클론하여 구현한 프로젝트 입니다. 클론코딩이긴 하지만 소스를 보고 카피한 것이 아닌 서비스 중인 사이트를 유저의 입장에서 외관만 참고하여, 동일한 또는 유사한 기능을 할 수 있도록 구현해 보았습니다.
2021.10.04. ~ 2021.10.15.(2주간)
React, React-Router, JS, SASS, HTML
Node.js, Express, Prisma, Nodemon, MySQL, Postman
Bcrypt, Json Web Token, Cookies, Layered Pattern, Restful-API
Git, Notion, Slack, Zoom
- DB modeling / Database
- DB diagram 사용하여 데이터베이스 모델링
- Prisma ORM 사용하여 스키마 구현
- Layered Pattern 기반 구현 (Router, Controller, Service, Model)
- 각 API별 레이어드 패턴에 기반하여 기능 구분
- MiddleWare구현 (Error Handler, Token Verification 구현)
- 발생가능한 Error종류 정의 및 코드에 맞는 메시지 전달
- 로그인 완료한 유저에게 제공하는 서비스 제공전 토큰의 유효성을 검사하는 미들웨어 구현
- Util(Async Wrapper, Error Generator, Bcrypt, JWT, Format Checker)
- 비동기 오류처리를 위한 wrapper함수 유틸화
- Error throw 및 에러메시지 부여하는 함수 유틸화
- Bcrypt 암호화 및 복호화 메서드 유틸화
- JWT 토클 발행 및 인가 메서드 유틸화
- user input 데이터 정규표현식으로 체크하는 메서드 유틸화
-
회원가입 API
- 전달받은 값 유효성 체크 유틸 구현 및 사용
- 회원가입시 토큰발행하여 자동 로그인 구현
- 아이디 중복 검사 및 체크 API
-
회원탈퇴 API
- 비밀번호 복호화 및 일치여부 체크 후 Hard Delete 데이터 삭제
- 로그인 API
- 로그인시 토큰 발행 및 쿠키전송
- 카테고리 정보 조회 API
- 메인카테고리 및 서브카테고리 데이터 가공하여 조회
-
디테일 상품정보 조회 API
- 상품, 상품제조사, 이미지 와 상품 옵션 정보 조회
- Service에서 프론트에서 필요한 형태로 데이터 가공하여 응답
- 리스트 상품 조회 및 정렬 API
- 쿼리스트링으로 정렬기준 반영
- Service에서 프론트에서 필요한 형태로 데이터 가공하여 응답
-
리뷰 정보 조회 및 정렬 API
- 쿼리스트링을 통해 리뷰 정렬기준 반영
- 리뷰 생성 API
- 인가 미들웨어 통과한 리뷰데이터 생성
- 리뷰사진 존재여부에 따른 조건문 쿼리문
- 이 프로젝트는 조구만 스토어사이트를 참조하여 학습 목적으로 구현하였습니다. 해당 Repository의 코드를 활용하여 이득을 취하거나 무단 배포할 경우, 법적으로 문제가 될 수 있음을 알려드립니다.