캠프 전체 커리큘럼상 내 강의 주차가 마무리가 되고, 최종 프로젝트가 들어가기전에 실전 프로젝트를 진행하게 되었다.
이번 실전 프로젝트에서는 직접적으로 정해져있는 주제가 아닌 직접 팀내에서 새로운 애플리케이션을 정해서 실무에서 자주 다루는 동시성 제어, Cache 성능개선, Redis, Docker 같은것 들을 활용하는 방식으로 프로젝트를 진행하는 개요이다.
💡 아이디어 구상
gpt를 통해서 여러 주제를 추천받아서 API를 구성하는 방식으로 추진해보고, 화면 공유를 통해 팀원들과 의견으을 나누게 되었다.
그 결과 도서 리뷰 플랫폼(App) 이라는 앱을 결정하게 되었고, 도서 리뷰는 최대한 간단한 API를 구성하여 구현하고, 이번에 프로젝트 에서는 위에서 설명해듯이 성능개선이나, 동시성제어 주제를 주로 다뤄서 진행하여야 하기때문에 비교적 간단해보이는(?) 주제를 선정하였다. 나는 도서 books 파트를 맡았다.
✅ ERD

ERD는 생각보다 단순하게 작성되었다. 도서 기준으로 보자면, 등록 상태를 inEnroll로 기본값으로 false로 두어서 관리자에게 승인을 받아야 최종으로 등록이 되게 구현을 하게 만들어서 inroll을 두었고 나머지는 일반적인 CRUD를 위해 필요한 것 필드들이다.
✅ API




✅ 와이어 프레임

와이어프레임은 최대한 사용자 중심으로 UI가 어떻게 사용하는지에 가장 중심적으로 하여 만들었다.
💬 S.A피드백
PUT은 멱등성이 있고,
Patch는 멱등성이 없다. setter가아니라 비즈니스로직을 이용해 엔티티르 바꾼다하면 patch를사용.
API를 스네이크 케이스를 사용하지 않는다 (book_id) ❌
✅ Git 초기세팅
초기 세팅 작업과 깃 연결까지 순조롭게 진행되었다. 정상적으로 팀원 초대가 되었고, 커밋 컨벤션을 준수하고, 각자의 담당을 맡아서 브랜치를 생성하고 병합시, PR을 보내는식으로 하고 이때 2명이상의 팀원이 승인을 하여야 병합을 할수 있게 하였다.
Intellj에서 필요한 라이브러리와 공통적으로 쓰이는 entity가 뭐가 있는지 팀원들과 소통해보고 초기 세팅까지 마무리하였다!
다음주에는 원활한 실전 프로젝트가 가능할것 같다!
'[내일배움캠프-Sparta] > Spring 6기' 카테고리의 다른 글
| 📦 Redis : 개념부터 캐싱 전략까지 (0) | 2025.05.20 |
|---|---|
| TIL 59 [ Spring 실전 프로젝트 ( Day 2 ) - 도서 CRUD 구현 + 트러블 슈팅 ] (0) | 2025.05.19 |
| TIL 57 [ AWS( EC2, ELB, RDS ) ] (0) | 2025.05.15 |
| TIL 56 [ 통합 테스트 + JPA 심화 플러스 과제 ( Lv 3-1 ) ] (0) | 2025.05.14 |
| 테스트 코드 (통합 테스트) ( 스탠다드 ) (0) | 2025.05.14 |