다양한 사용자를 위한, 다양한 브랜드의 캠핑용품 편집샵 GAZAGO
이름 | 역할 | 링크 |
---|---|---|
윤보영 | 팀장, 프론트엔드 | 깃허브 |
오성현 | 프론트엔드 | 깃허브 |
김범수 | 프론트엔드 | 깃허브 |
김설화 | 프론트엔드 | |
이준영 | 백엔드 | 깃허브 |
박제성 | 백엔드 | 깃허브 |
메인페이지 | 상품목록 |
회원가입 | 로그인&비밀번호찾기 |
상품 상세 | 장바구니 |
주문 | 주문 내역 |
마이페이지-쇼핑정보 | 마이페이지-내정보 |
이달의 핫아이템 | |
결제시스템
1. 프론트 피그마 링크
2. API 명세서 링크
├── client
│ ├── routers
│ └── views
├── server
│ ├── routers
│ ├── services
│ ├── db
│ ├── middlewares
│ ├── passport
│ ├── stripe
│ └── utils
└── app.js
- 상품 상세 페이지
- 상품정보 렌더링 구현
- 상품 수량 변경 기능 구현
- 장바구니 페이지
- localStorage를 사용해 장바구니 데이터를 관리함
- 전체 선택 기능 구현, 총 상품 가격을 전체 상품 가격으로 변경
- 특정 상품 선택/해제기능 구현
- 선택된 상품의 수량 변경 기능 구현
- 선택된 상품을 장바구니에서 삭제하는 기능 구현
- 어떤 상품도 선택되어있지 않을 때 구매하기, 삭제하기 버튼 disabled 처리
- 주문 페이지
- 회원의 배송 이력에 따라 신규 배송지/기존 배송지로 탭 구분
- 이전 배송지 목록 출력, pagination 구현
- 우편번호 검색 -> daum 우편번호 검색 api 연동
- 필수 항목 누락 또는 약관 미선택 시 경고 표시
- stripe 결제 시스템 연동 화면 구현
- 주문내역 페이지
- 현재 주문상태에 따라 배송지 변경, 주문 취소 버튼 활성화
- 배송지 변경 기능 구현
- 주문 취소 기능 구현
- 관리자 페이지
- 카테고리 관리, 상품 관리, 주문 관리 pagination 구현
- 회원가입
- 회원 가입 기능 구현
- 이메일 및 비밀번호 유효성 검사 기능 구현
- 로그인 및 비밀번호 찾기
- 로그인 및 비밀번호 찾기 기능 구현
- 마이페이지 쇼핑정보
- 마이페이지 pagenation 및 전체 선택 삭제 기능 구현
- 로그인 회원의 주문내역 및 관심상품 리스트 구현
- 화면 전환 시 localStorage를 사용
- 마이페이지 내 정보
- 사용자 전화번호, 우편 번호, 주소 및 상세 주소와 비밀번호 수정 기능 구현
- 헤더, 푸터
- 메인페이지
- swiper 사용 슬라이드 구현
- 상품 목록
- 브랜드와 상품 가격 선택, 헤제 기능 구현
- IntersectionObserver 사용해 무한스크롤 구현
- API 명세서, ERD, 프로젝트 구조, 폴더 구조 설계
- 라우터 및 서비스 로직 구현
- fs 모듈 활용 파일 업로드 구현
- Stripe 활용 결제 시스템 구현
- Nginx, PM2 활용 배포
- 개인 서버 사용
- 유저 가입 및 인증 시스템
- jwt-cookie, passport를 사용하여 구현
- 회원가입, 로그인, 로그아웃, 비밀번호 변경, 비밀번호 찾기
- 페이지별 접근통제 미들웨어 구현 (GUEST, USER, ADMIN)
- 메일링 시스템
- node-mailer를 사용하여 구현
- 비밀번호 찾기 (임시비밀번호 메일발송)
- 배송지 변경 (변경정보 메일발송)
- 스케쥴링
- node-cron을 활용하여 전회원 대상 일정주기로 판매량 BEST3 아이템 카탈로그 발송
- node-memoryUsage 기능으로 서버 메모리 감지하여 사용메모리 70% 초과 시 스케쥴링 중단기능 구현