
1. 프로젝트 개요
이번 프로젝트에서는 인터넷 예약관리 시스템을 만들어 보겠습니다.
실제 네이버에서 운영하는 예약 시스템과 유사한 서비스 입니다.
전시, 연극, 뮤지컬 등의 콘텐츠가 보이고, 각 아이템을 예약할 수 있어야 합니다.
물론 네이버 예약 서비스는 이 순간에도 계속 변경되고 있습니다.
따라서 여러분들이 지금 만들 예정인 서비스와 실제 네이버 예약서비스와는 약간 차이가 있을 겁니다 ^^
여러분들은 저희가 제공한 기획서 내용을 살펴보시면서 개발하시면 됩니다.
이번 파트부터 마지막 파트까지는 총 4단계로 이어지는 규모가 큰 프로젝트 입니다.
그만큼 완성도 있는 결과를 만들 수 있고, 덥루어 개발의 복잡도가 올라갈 겁니다.
이번 파트에서는 전체 예약서비스 중에 '메인화면'을 구성합니다.
서비스 기능 면으로는 일부분이지만, 개발환경 구축 등을 해야 하므로 가장 많은 시간이 들어갈 수 있는 파트입니다.
그만큼 많은 시간 투자가 예상됩니다.
기획서
기획서는 아래 파일을 통해서 확인하실 수 있습니다.
3. 프로젝트 개발과정 참고
1. maven 프로젝트를 생성합니다.
groupId 와 artifactId 는 임의로 지정합니다.
2. MySQL 에서 프로젝트에 사용할 database와 사용자 계정을 생성합니다.
생성한 데이터베이스와 계정정보는 src/main/resources/application.properties 파일에 다음과 같이 설정합니다.
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://domain:port/dbName?useUnicode=true&characterEncoding=utf8
spring.datasource.username=dbUserName
spring.datasource.password=dbPasswd
3. 프로젝트 루트 폴더에 .gitignore파일을 생성합니다. (gitignore 참고자료)
해당 파일에는 다음의 내용을 입력합니다.
target
.classpath
.project
.settings
4. 생성한 데이터베이스에 접속하여 주어진 SQL을 실행합니다.
먼저 ddl.sql의 내용을 실행하여 테이블을 생성하고, dml.sql의 내용을 실행하여 샘플 데이터를 추가합니다. 코드 바로가기
5. sample 이미지가 있는 압축파일인 img.zip을 webapp 폴더에 압축 해제합니다.
webapp폴더에 img와 img_map 폴더 아래에 샘플 이미지가 위치합니다.
6. Spring MVC, Spring JDBC를 사용하기 위한 Spring설정 파일들을 작성합니다.
7. 샘플 데이터를 읽어 들여 메인화면을 출력하기 위한 DTO, Controller, Service, Repository를 알맞게 작성합니다.
8. web API 스펙은 아래와 같습니다.
9. image type 설명
- th : thumbnail (썸네일 사진 - 상품리스트 혹은 프로모션 정보에서 보여주는 이미지)
- ma : main (메인 사진 - 상품 상세정보에서 보여주는 이미지)
- et : etc (기타 사진 - 상품 상세정보에서 추가적으로 보여주는 기타 이미지)
5. 프로젝트 제출방법
본 프로젝트는 2023년 5월 31일자로 리뷰 제출이 중단되었습니다. 개인 학습용으로만 활용 부탁드립니다.
※ 동료 학습자의 원활한 학습을 위해 프로젝트 관련 소스코드 유출(SNS, Gitlab, Github)을 엄격히 금지합니다.
※ 개발환경의 버전을 맞추는 일은 서버 오류 등의 이슈를 방지할 수 있어 매우 중요합니다. 반드시 권장 버전으로 설치해 주세요.
※ 부스트코스의 프로젝트는 순차적으로 학습하도록 구성되어 있습니다. 프로젝트 진행에 참고 부탁드립니다.