서비스 개요
서비스 목적 및 목표
목적
여행 여정을 기록과 관리하는 SNS 서비스를 만든다.
목표
- 여행의 여정 정보를 기록하고 조회하는 Java 애플리케이션 개발한다.
- 하나의 여행은 여러 여정 정보로 구성된다. (여행 : 여정 = 1 : n)
- 여정정보는 이동 (출발지, 도착지, 출발시각, 도착시각)과 숙박(체크인, 체크아웃) 등의 상세정보를 포함한다.
- 여행 정보와 특정 여행의 여정 정보는 데이터 저장 경로에 파일 형태로 저장한다. (CSV, Json)
서비스 설계
패키지 구조
✅ Domain 형 구조
패키지구조 설계는 대표적으로 ‘계층형’ 구조와 ‘도메인형’ 구조가 있다. 그 중 도메인형 구조는 각각의 도메인 별로 패키지 분리가 가능하여 도메인 별 관리가 직관적이다. 도메인 별로 의존하는 코드가 없도록 설계가 되었기 때문에 추후에 기획이 추가되더라도 코드를 재활용할 수 있기에 domain형 구조를 선택했다.
✅ MVC 구조
Domain 형 구조를 토대로 Model을 담당하는 dto, 입출력을 담당하는 View, service를 담당하는 Main로 MVC구조를 표현했다. 이번 프로젝트에서는 Web과 통신하지 않기에 Controller를 따로 구현하지는 않았지만, 이후 Spring framework를 사용시 Controller를 구성할 계획이다.
요구사항 분석
- 회원은 여러 여행 기록과, 여정 기록을 저장할 수 있습니다.
- 여행 정보는 여러 여정 정보로 구성됩니다. (여행 : 여정 = 1 : n)
- 여정정보는 이동정보(출발지, 목적지, 출발시간, 도착시간)와 숙박정보(체크인, 체크아웃) 를 포함합니다.
- 회원은 여행기록을 확인 후 상세한 여정 기록을 추가 및 조회할 수 있습니다.
- 여행 정보 및 특정 여행 정보의 여정 목록은 데이터 저장 경로(CSV, JSON 등)에 파일 형태로 저장됩니다.
- 객체지향 성격이 잘 드러날 수 있도록 클래스를 설계합니다.
Flowchart
서비스 기능
기능설명
입출력화면
개인공부 정리
Github
2023.09.18 - [Github] - 협업을 위한 Github 사용법
Annotation
2023.09.18 - [BACKEND/JAVA] - Annotation이란?
Entity와 DTO
2023.09.18 - [BACKEND/JAVA] - Entity와 DTO의 연관관계
Test Code
'패스트캠퍼스 X 야놀자: 백엔드 개발 부트캠프' 카테고리의 다른 글
패스트캠퍼스X야놀자: 백엔드 개발 부트캠프 - MINI Pro 숙박 예약 서비스 so2zy (2) | 2023.12.22 |
---|---|
패스트캠퍼스X야놀자: 백엔드 개발 부트캠프 - Toy#3 여행 여정을 기록, 관리하는 서비스 (1) | 2023.12.19 |
패스트캠퍼스X야놀자: 백엔드 개발 부트캠프 - Toy#2 여행 여정을 기록, 관리하는 서비스 (0) | 2023.11.07 |
패스트캠퍼스X야놀자: 백엔드 개발 부트캠프 - DB를 활용한 책 검색 어플리케이션 (0) | 2023.09.01 |
패스트캠퍼스X야놀자: 백엔드 개발 부트캠프-위치기반 장소 검색 어플리케이션 (0) | 2023.08.24 |