Next.js와 MongoDB를 처음 배우면서, 개발과 공부를 동시에 하기 위해 시작한 1인 개발 프로젝트입니다.
회원 관리 및 상품 판매를 위한 웹 애플리케이션을 구현했습니다.
- React
- Next.js
- JavaScript
- CSS
- Next.js
- API Routes
- axios
- bcryptjs
- jsonwebtoken (JWT)
- jwt-decode
- MongoDB
- bcryptjs를 사용하여 로그인 시 입력한 비밀번호와 암호화된 값을 비교하여 인증을 처리합니다.
- **jsonwebtoken (JWT)**로 로그인 시 일부 정보를 포함한 토큰을 발급합니다.
- jwt-decode로 JWT 토큰을 디코딩하고, 로그인된 사용자 정보를 확인하거나 토큰 만료 여부를 검사하는 데 활용합니다.
- bcryptjs를 사용하여 사용자 비밀번호를 암호화하여 안전하게 저장합니다.
- 내 정보 페이지에서 사용자 정보를 확인하고, 현재 비밀번호와 새 비밀번호를 입력하여 비밀번호 변경이 가능합니다.
- 모든 비밀번호는 암호화된 후 처리됩니다.
- JWT의 만료 시간을 설정하여 일정 시간이 지나면 자동으로 로그아웃되도록 구현했습니다.
- 상품 이름, 가격, 담기 버튼 등을 구현하여 상세 정보를 제공합니다.
- 장바구니 페이지에서 상품 수량 선택 및 구매 버튼 기능을 구현했습니다.
- Toss OpenAPI를 활용하여 테스트 결제 시스템을 추가했습니다.