/////
Search
Duplicate
👗

Shopping Mall 웹 프로젝트

생성일
2022/09/01 12:36
태그
기간

프로젝트 설명

스프링부트를 이용하여 만든 쇼핑몰 프로젝트입니다.
유저 역할을 판매자와 구매자로 나누어 구현하였습니다.
판매자
판매자 페이지, 상품 CRUD, 상품관리, 판매 현황 조회
구매자
마이페이지, 장바구니, 주문/주문취소, 주문 내역 조회, 코인충전

개발 환경

운영체제 : Windows 10
통합개발환경(IDE) : IntelliJ
JDK 버전 : JDK 17
데이터 베이스 : MariaDB
빌드 툴 : Gradle
관리 툴 : GitHub

Dependencies

Spring Boot DevTools
Lombok
Spring Data JPA
MariaDB Driver
Spring Security
Spring Web
Oauth2-client
Thymeleaf

기술 스택

백엔드
SpringBoot, Spring Security, Spring Data JPA
프론트엔드
HTML, CSS, Javascript, Bootstrap, Thymeleaf
데이터베이스
MariaDB, MySQL Workbench

DB 설계

User
Item
Cart
CartItem
Order
OrderItem
Sale
SaleItem

구현 기능

Entity 설계 (User, Item, Cart, CartItem, Board) (2022-01-14)
상품 기능 구현 (CRUD) (2022-01-15)
상품 CRUD 관련 html (2022-01-17)
상품 리스트 페이지 검색 기능 (2022-01-19)
상품 리스트 페이지 페이징 처리 (2022-01-19)
판매자/구매자 프로필 페이지 구현 html (2022-01-22)
장바구니 기능 구현 (2022-01-22)
장바구니 페이지 html (2022-01-22)
주문 관련 Entity 추가 설계 (Order, OrderItem) (2022-01-24)
판매자/구매자 프로필 페이지와 연관된 회원정보수정 구현 (2022-01-25)
장바구니 상품 주문 기능 구현 (2022-01-26)
상품관리 페이지, 판매내역 페이지 html (2022-01-26)
판매 관련 Entity 추가 설계 (Sale, SaleItem) (2022-01-27)
상품 상세 페이지 렌더링 (th:if) (2022-01-28)
전체 html 통일 및 완성 (타임리프) (2022-01-28)
개별 상품 구매 기능 추가 (2022-01-29)
주문 취소 기능 구현 (2022-01-30)
기능 별 예외 처리 (2022-01-31)
충전 API 추가 (2022-02-01)

Learned

개인 프로젝트여서 프론트엔드 개발자가 없는 관계로, Thymeleaf를 사용하였습니다. html, css적인 부분은 Bootstrap을 사용하여 프론트엔드도 직접 다루어 볼 수 있었으며, Thymeleaf 문법을 잘 이해하게 되었습니다.
반복되는 코드는 분리시키고, hasRole('ROLE_USER') isAuthenticated() 문법을 이용하여 USER와 ADMIN의 역할을 한 페이지 내에서 렌더링 하였습니다.
Spring MVC 패턴을 적용하여 각 요소의 역할을 명확히 구분하였으며, 코드의 가독성을 높이고 데이터 처리 과정을 명확히 이해하고 적용시켰습니다. 직접 하나의 프로젝트를 구현하며 MVC 패턴이 더욱 와닿았고, 이론으로만 배운 것보다 실제 적용시켜보니 명확하게 알게 될 수 있어서 너무나 도움이 되었습니다.
아임포트 라는 API 서비스를 통해 코인 충전 기능에 카카오, 네이버, 페이코 결제 API를 등록하였습니다. 결제 API는 처음 적용해보는 과정이였는데, 구글링을 하며 시도해본 결과 성공적으로 구현할 수 있었습니다.

Link

Shopping
rladuswl