본문 바로가기

포트폴리오/주차장 서비스(with turu parking)

[포트폴리오/주차장 서비스(with turu parking)] - (1) 서비스 설계

 

 

 

 

Github

https://github.com/mii2026/sw15

 

GitHub - mii2026/sw15

Contribute to mii2026/sw15 development by creating an account on GitHub.

github.com

 

 

 

 

목차
1. 들어가며
2. 프로젝트 개요
3. 서비스 설계
4. 마치며

 

 

 

 

들어가며

 이번에 휴맥스 모빌리티에서 인턴으로 근무하며 진행하였던 주차장 서비스에 관해 블로그에 순서대로 정리해보려고 한다. 이번글에서는 프로젝트 개발 시작전, 서비스 설계를 진행하였던 내용에 대해 정리해보려한다.

 

 

 구체적인 기능의 설명에 관해서는 git의 readme에 정리해 두었기에 블로그의 글에서 따로 정리하진 않을 계획이며, 블로그에는 개발 과정에 대해서만 정리할 생각이다.

 

 

 

 

 

 

 

 

프로젝트 개요

[주차장 검색 및 예약 관리 서비스]

① 회사명(또는 수행기관): 휴맥스 모빌리티(인턴)
② 수행기간: 2023.11 ~ 2023.12 약 2개월
③ 업무(직무)명: 개인 프로젝트
④ 수행환경(개발도구 및 개발환경, 수행인원 등)
-  개발 도구 및 개발환경: Intellij IDEA(Java Spring) - Backend, Visual Studio Code(React) - Frontend, Github actions(CI/CD), AWS EC2(배포)
-  수행 인원: 5명
⑤ 주요역할
- 사용자 결제 정보 저장 및 관리, 주차장 즐겨찾기 기능 구현, 기타 서비스 오류 해결 등 

 

 

 

 

 

 

서비스 설계

 서비스 설계 전에 팀장님께 받은 요청서를 조원들과 분석하며 업무 추진 계획을 수립하였다. 업무 요청서를 분석하였고, 결과적으로 프로젝트는 '주차장 검색 및 예약 결제 시스템' 을 구현하는 것을 최종 목표로 두고 진행하게 되었다.

 

- 기능 명세서

더보기
노션에 업로드된 기능 명세서

- API

더보기
노션에 업로드된 API 문서

 

 

 

 개발에 필요한 기능 명세서와 API들은 위와 같이 설계하였다. Git-hub을 이용하여 프로젝트를 관리하기 때문에 Branch끼리의 Conflicts를 최소화하기 위해 다른 사람이 생성한 클래스 파일은 최대한 건드리지 않되, 만약 남이 만든 클래스 파일을 수정해야한다면 연락을 취해서 이러이러한 부분에서 수정을 진행할 것이라고 양해를 구하고 계속해서 진행하는 식으로 팀원들과 약속하였다.

- table 설계

더보기
ERD
주차장 csv 데이터 삽입

 

 

 

 

 

 table의 설계는 위의 ERD에서 확인이 가능하며, 팀장팀께서 휴맥스 모빌리티에서 진행하셨던 프로젝트의 주차장 데이터 일부를 제공해 주셔서 이를 직접 설계한 DB에 삽입한 모습이다.

 

 

 

 

 백엔드 서버에 붙은 DB는 mysql을 이용하였으며 사용자 Session 관리는 redis를 연동하였다. redis와 로그인에 관련해서는 다른 글에서 정리할 것이다.

 

 

 

 

마치며

 구현해야할 기능들은 기본적인 유저 회원가입 및 로그인, 주차장 검색 기능, 사용자 차량 정보 및 결제 정보 등록, 주차장 예약 관리 등이 있으며, Section을 나누어 팀원들 각자가 서비스에 필요한 기능들을 구현하였다.

 

 

 

 개발 진행전 전체적인 프로젝트 설계는 이와 같이 진행되었다. 이 이후로 스프링 부트 개발, redis 연동 및 로그인 구현, 세부 기능 구현, AWS EC2 서버 배포, github actions를 이용한 CI/CD 자동화의 순서대로 프로젝트에 관해 정리글을 올릴 계획이다.