Write by 서민희(팀장) / 팀 ‘road friends’ / 2025
<aside> 💡
K-디지털 트레이닝 수료 과정 중 11명의 팀원과 제작한 자동차 렌터카 서비스 ‘에브리카’ 개발 노트입니다.
</aside>


| 프로젝트 이름 | 에브리카 |
|---|---|
| 개발 기간 | 24. 11 ~ 25. 4 |
| 언어 | FE: javascript / BE: java / DB: MySQL |
| 프레임워크 | FE: React16 / BE: Spring boot |
| 배포 환경 | FE: AWS S3 / BE: AWE EC2 / DB: google cloud R2 |
https://github.com/minhee-seo/everycar-frontend
https://github.com/minhee-seo/everycar-backend

EveryCar 프로젝트는 사용자 경험과 데이터 무결성이라는 두 가지 핵심 가치를 동시에 달성하기 위해 React(사용자 페이지)와 Spring Boot(관리자 및 백엔드 API)를 분리한 아키텍처를 채택했습니다.
선택 이유:
11명의 팀원과 함께 성공적으로 프로젝트를 완주하는 도중 발생한 문제 해결 경험을 기록했습니다.
<aside> 🛠️
문제 상황
기획 단계에서 차량의 '예약' 기능에만 집중한 나머지, 예약 완료 후 차량이 다시 예약 가능한 상태로 복귀하는 '생명주기'를 간과하여 개발 도중 기능 확장이 요구됨. </aside>
해결 과정: 팀원과의 긴급 회의를 통해 렌터카가 일회성 자원이 아닌 재사용되는 자산임을 재정의함. 차량 DB에 상태(Status) 속성을 추가하고, 예약 가능 ↔ 사용 중 ↔ 정비 중으로 이어지는 상태 사이클을 설계하여 예약 단계별 상태 업데이트 로직을 구현함.