개발동기
오늘부터 개인프로젝트를 시작한다. 현재 계속 Java와 스프링에 대해서 공부를 하고 있기는 하지만, 부분적인 퍼즐조각을 모으고만 있지 실제로 퍼즐조각을 모아서 퍼즐을 완성해본 적이 없다고 생각하게 되었다. 기술들을 머리로만 공부하게 되면 직접 사용하는데 점점 어려워질 것이라고 생각했다.
프로젝트에 주제에 대해서 곰곰히 생각해보고 있던 도중, 현대 사람들은 1인가구가 점점 늘어나면서 배달과 쇼핑을 하는 횟수가 점점 늘어나고 있다. 프로젝트를 완성하는데 내가 관심있는 결제 시스템까지도 구현할 수 있다고 생각해서 쇼핑몰 시스템을 Java와 스프링 부트를 통해 구현해보고자 한다.
흔해빠진 주제라고 생각하지만, 이런 주제에서 내가 구현하고자 하는 것들은 확실히 구현고 배울 점은 배우면서 내가 할 수 있는 것과 할 수 없는 것을 확실하게 알고 싶었다. 백엔드 개발자를 목표로 하고있지만, 프론트 부분도 구현해 보면서 하나의 프로젝트를 온전히 끝내는 경험을 하는 것을 목표로 한다.
기술 스택
본인은 백엔드 개발자를 목표로 하며, 백엔드 기술을 중점적으로 다룰 생각이다. 하지만 여기서는 프론트 부분도 구현할 예정이다. 또한 개인 프로젝트이지만 협업툴도 적극 활용해 보면서 활용법을 익힐 생각이다.
Back-end
- Java 11
- Gradle
- Springboot 2.7.1
- Spring Security
- Spring Message
- Spring OAuth2 Client
- Jsoup
- Spring Data Jpa
- QueryDsl
- MySQL 5.7
Infra
- Docker
- AWS
- nginx(미정)
Test
- Junit
- H2 Database
Front-end
- Vue.js 3.0
- Element UI
협업툴
- Git & Github
- ERD Cloud
- Notion
주요기능
회원가입
- OAuth를 이용한 소셜 간편 로그인
- 이메일 인증
로그인/로그아웃
- JWT 토큰을 이용한 로그인
- 아이디/비밀번호 찾기
- 아이디/비밀번호 찾기시 OAuth로그인을 사용한 경우, 가입 OAuth 인증
회원 정보
- 회원 프로필 수정
- 회원 정보 조회
장바구니
- 장바구니 추가
- 장바구니 삭제
- 결제시 장바구니 내용 삭제
결제
- 장바구니 내용을 결제 테이블에 올린다.
- 결제
쇼핑
- 쇼핑을 통해 원하는 물건을 장바구니에 담는다.