Prada 쇼핑몰을 클론코딩한 프로젝트
기능 소개 (API 명세서)
- 로그인
- 회원가입
- 로그아웃
- 사용자 정보 조회
- 회원정보 수정
- 장바구니 상품 추가
- 장바구니 상품 조회
- 장바구니 상품 제거
- 위시리스트 상품 추가
- 위시리스트 상품 조회
- 위시리스트 상품 옵션 변경
- 위시리스트 상품 제거
- 테마별 or 카테고리별 상품 조회
- 상품 상세 조회
- 상품 추가 (관리자 권한)
- 상품 수정 (관리자 권한)
- 상품 삭제 (관리자 권한)
- 관리자 로그인
- 관리자 회원가입
- 관리자 로그아웃
- 회원정보 수정
- 관리자 정보 조회 (로그인 유지 시 필요)
"dependencies": {
"aws-sdk": "^2.1282.0",
"bcrypt": "^5.1.0", // 비밀번호 해싱을 통한 암호화를 위해 사용
"cors": "^2.8.5", // 리소스 교차 출처 정책으로 인한 CORS 문제 해결을 위해 사용 (허용할 도메인 설정)
"dotenv": "^16.0.3", // 보안상 노출되면 안돼는 환경변수 설정을 위한 사용
"express": "^4.18.2", // 웹 프레임워크로 서버를 생산성있게 구축하기 위해 사용
"joi": "^17.7.0", // 검증 라이브러리로 직관적임, 협업간 생산성을 위해 사용
"jsonwebtoken": "^9.0.0", // JWT 방식의 로그인을 구현하기 위해 사용
"morgan": "^1.10.0", // 실시간 로그 확인을 위해 사용
"multer": "^1.4.5-lts.1", // 이미지 업로드를 위한 라이브러리
"multer-s3": "^2.10.0", // 이미지를 S3에 업로드하기 위해 사용
"mysql2": "^2.3.3", // mysql 드라이버 역할
"nodemon": "^2.0.20", // 새로운 코드를 저장 시 자동으로 서버를 재시작해준다
"pm2": "^5.2.2" // 무중단 서비스를 위해 적용
},
"devDependencies": {
"jest": "^29.3.1", // 테스트 코드를 작성하기 위해 사용 (사용 편리, 직관적, 생산성)
"prettier": "^2.8.1", // 협업간 코드 포메터로 코드 스타일을 맞추기 위해 사용
"sequelize": "^6.28.0", // Node의 ORM으로 DB를 다루기 위해 사용(생산성을 위함)
"sequelize-cli": "^6.5.2",
"supertest": "^6.3.3"
},
