친구의 도움으로 쇼핑몰 클론 코딩 프로젝트에 참여를 하게 되었다. 공부와 함께 병행을 해서 꽤 오랜기간동안 프로젝트가 진행이 되었는데 이에 대한 기록을 남겨보려한다.
프론트 : Html , Css, Js(jquery), thymeleaf
백엔드(나) : Spring Boot, Spring Data Jpa, Spring Security, Querydsl, Gradle
DB : h2 (원래는 h2로 시작을 하고 이후 mariaDB로 변경을 하려했는데 프로젝트 기간이 길어져서 마무리하게 되었다.)
개발환경 : IntelliJ, VS Code, erdCloud
깃헙 : https://github.com/Page27Clone/page27clone
프로젝트 기능 :
- 메인 페이지 구현
- 회원가입 및 로그인 구현(Spring Security)
- 상품 주문 및 결제
- 상품 장바구니 기능 구현
- 주문 관리 기능 구현
- 회원 정보 수정, 주소 등록
- 관리자 페이지 구현
- 회원, 상품, 주문 관리 구현
프로젝트 스크린샷(요약)
[관리자 페이지]
- 메인화면
- 관리자 페이지 주문관리 페이지
(Querydsl을 이용하여 동적 검색 구현 / 주문 상태기능 변경 구현)
[메인 페이지]
- 메인 화면
- 주문 관리 구현
(주문 상태 변경을 하거나 이와 비슷한 Ajax 구현을 할 때는 모두 csrf 토큰을 Http Header에 담아 보내는 식으로 작성하였다.)
- 상품 상세 페이지
- 이외에도 구현한 페이지가 많은데 자세한 내용은 깃헙에!
아쉬운 점
- Querydsl이나 Spring Data JPA나 처음 공부하고 적용하다보니 제대로 구현한 것이 맞는지, 계속 의심이 들었고 특히 동적검색을 구현하는데 어려웠다. 이 부분들에 대한 공부를 좀 더 하여 효율적인 코드를 작성해 보고 싶다.
- 이번에는 Spring Security를 활용, 세션을 이용하는 방식으로 진행했는데 다음에는 JWT를 적용하고 싶다.
- 뭔가... 최선을 다했는데 코드가 과연 깔끔한가..?라는 의문이 생기는데.. 이 부분에 대해서도 계속 생각해봐야겠다.
- 이번 프로젝트는 RESTful 웹서비스를 만들지 않았다. 프론트를 담당한 팀원과 나 모두 처음 하는 프로젝트였기에 내가 view도 함께 제공하는 식으로 진행을 했는데 다음에는 RESTful 한 웹 서비스를 만들어보고 싶다.(이 부분도 공부해보자)
- 작성하면서 생각한건데, 다음에는 프로젝트 기능을 구현하는 그 과정을 블로그에 기록하면 좋을 것 같다.
프로젝트 기간동안 참고한 사이트
스프링 부트 및 Querydsl , Spring Data JPA
- 인프런 강의(김영한님 로드맵 강의를 기반으로 공부하였습니다.)
스프링 시큐리티
- https://shinsunyoung.tistory.com/78
- https://minholee93.tistory.com/entry/Spring-Security-Thymeleaf-Integration-Spring-Boot-9
- https://victorydntmd.tistory.com/328
Ajax
- https://hyunsangwon93.tistory.com/28
'Develop > Project' 카테고리의 다른 글
CREAM 클론코딩 프로젝트 후기(Spring)(프로그래머스 데브코스) (0) | 2021.12.31 |
---|---|
YAS 프로젝트 후기(Spring)(프로그래머스 데브코스) (0) | 2021.12.30 |
2020 ICT 기업 인턴 프로그램(스파르타 코딩클럽 프로젝트) (0) | 2021.07.07 |