서비스 링크(잠정 중단)
Git Hub 링크
0. Getting Started (시작하기)
# << Back-End >>
# +) application.properties에 key 값들 넣어주기
# 0. gradle 설치 확인
$ gradle -v
# 1. 프로젝트 빌드 및 실행
$ ./gradlew build
$ ./gradlew bootRun
# << Front-End >>
# +) .env 파일 만들고 key 값들 넣어주기
# 1. 프로젝트 실행
$ npm run dev
1. Project Overview (프로젝트 개요)
- 프로젝트 이름: 중국어로 된 제주 여행 소개 플랫폼 '济州旅游(제주 여행)'
- 프로젝트 설명: ‘2024 관광데이터 활용 공모전’ 참가 (https://www.2024tourapi.com/)
- 프로젝트 수상 결과 : 한국관광공사 장려상, 제주관광공사 특별상
- 프로젝트 소개 : 저희 济州旅游(제주 여행) 관광 웹사이트는 제주도를 방문하는 중국인 관광객들이 필요한 정보를 중국어로 쉽게 얻을 수 있도록 다양한 기능을 제공합니다. ‘관광 페이지’를 통해 각종 행사나 관광 명소에 대한 정보를, ‘쇼핑 페이지’를 통해 기념품 및 특산품을 살 공간들을, ‘음식점 페이지’를 통해 제주도 토속 음식들을 맛볼 식당을, ‘숙소 페이지’를 통해 적절한 쉴 곳을 찾을 수 있습니다. 또한, ‘버스 정류소’, ‘공중화장실’과 ‘공공 와이파이’ 위치 검색 기능을 제공하여 여행 시 편리함을 제공합니다. ‘캘린더 페이지’를 통해, 일정을 효율적으로 관리할 수 있으며 여행 계획을 체계적으로 세울 수 있습니다. 다양한 장소에 대해 ‘리뷰’를 남기고 타 사용자의 리뷰를 확인할 수 있습니다. 더하여, AI 기반으로, 사용자 여행 취향에 맞춘 여행지를 추천해 줍니다.
2. Team Members (팀원 및 팀 소개)
김민 | 김현지 | 김혜연 | 방재경 | 방채원 |
---|---|---|---|---|
PL, BE | FE | BE | FE | BE |
GitHub | GitHub | GitHub | GitHub | GitHub |
3. Key Features (주요 기능)
- 로그인 및 회원가입
- 홈 화면 이용
- 관광 정보 검색, 조회 및 리뷰 기능
- 쇼핑 정보 검색, 조회 및 리뷰 기능
- 음식점 정보 검색, 조회 및 리뷰 기능
- 숙소 정보 검색, 조회 및 리뷰 기능
- 버스 정류소 위치 검색 기능
- 공중화장실 위치 검색 기능
- 공공 와이파이 위치 검색 기능
- 일정 관리 기능
- AI 기반 사용자 여행 취향에 맞춘 여행지 추천 기능
4. Tasks & Responsibilities (작업 및 역할 분담)
김민 |
|
|
김현지 |
|
|
김혜연 |
|
|
방재경 |
|
|
방채원 |
|
5. Technology Stack (기술 스택)
5.1 Frotend
5.2 Backend
5.3 Cooperation
6. Project Structure (프로젝트 구조)
<< Back-End >>
📦
├─ .DS_Store
├─ .gitignore
├─ README.md
├─ build.gradle
├─ gradle
│ └─ wrapper
│ ├─ gradle-wrapper.jar
│ └─ gradle-wrapper.properties
├─ gradlew
├─ gradlew.bat
├─ settings.gradle
└─ src
├─ .DS_Store
├─ main
│ ├─ .DS_Store
│ ├─ java
│ │ ├─ .DS_Store
│ │ └─ com
│ │ ├─ .DS_Store
│ │ └─ example
│ │ ├─ .DS_Store
│ │ └─ jejutravel
│ │ ├─ .DS_Store
│ │ ├─ JejuTravelBeApplication.java
│ │ ├─ config
│ │ │ ├─ JwtAuthenticationEntryPoint.java
│ │ │ ├─ JwtAuthenticationFilter.java
│ │ │ ├─ SecurityConfig.java
│ │ │ ├─ SwaggerConfig.java
│ │ │ └─ TokenProvider.java
│ │ ├─ controller
│ │ │ ├─ BusStopController.java
│ │ │ ├─ CalenderController.java
│ │ │ ├─ MyPageController.java
│ │ │ ├─ PublicToiletController.java
│ │ │ ├─ PublicWifiController.java
│ │ │ ├─ RestaurantController.java
│ │ │ ├─ ReviewController.java
│ │ │ ├─ ShoppingController.java
│ │ │ ├─ StayController.java
│ │ │ ├─ TourismController.java
│ │ │ ├─ UserController.java
│ │ │ └─ kakaoController.java
│ │ ├─ domain
│ │ │ ├─ Dto
│ │ │ │ ├─ AreaResponse.java
│ │ │ │ ├─ MyPageResponse.java
│ │ │ │ ├─ MyPageUpdateRequest.java
│ │ │ │ ├─ SignInRequest.java
│ │ │ │ ├─ SignInResponse.java
│ │ │ │ ├─ SignOutRequest.java
│ │ │ │ ├─ SignUpRequest.java
│ │ │ │ ├─ SignUpResponse.java
│ │ │ │ ├─ UserDto.java
│ │ │ │ ├─ content
│ │ │ │ │ ├─ BusStopResponse.java
│ │ │ │ │ ├─ ContentListResponse.java
│ │ │ │ │ ├─ PublicToiletResponse.java
│ │ │ │ │ ├─ PublicWifiResponse.java
│ │ │ │ │ ├─ RestaurantInfoResponse.java
│ │ │ │ │ ├─ ShoppingInfoResponse.java
│ │ │ │ │ ├─ StayInfoResponse.java
│ │ │ │ │ ├─ StayListResponse.java
│ │ │ │ │ └─ TourismInfoResponse.java
│ │ │ │ └─ review
│ │ │ │ ├─ ReviewListResponse.java
│ │ │ │ ├─ ReviewResponse.java
│ │ │ │ ├─ ReviewSaveRequset.java
│ │ │ │ └─ ReviewUpdateRequest.java
│ │ │ └─ Entity
│ │ │ ├─ KakaoUser.java
│ │ │ ├─ RefreshToken.java
│ │ │ ├─ Review.java
│ │ │ └─ User.java
│ │ ├─ global
│ │ │ ├─ PythonTranslator.java
│ │ │ ├─ api
│ │ │ │ ├─ ApiResponse.java
│ │ │ │ ├─ PageResponse.java
│ │ │ │ └─ Status.java
│ │ │ └─ exception
│ │ │ └─ ResponseExceptionHandler.java
│ │ ├─ repository
│ │ │ ├─ KakaoUserRepository.java
│ │ │ ├─ RefreshTokenRepository.java
│ │ │ ├─ ReviewRepository.java
│ │ │ └─ UserRepository.java
│ │ └─ service
│ │ ├─ JejuApiManager.java
│ │ ├─ MyPageService.java
│ │ ├─ OpenApiManager.java
│ │ ├─ ReviewService.java
│ │ ├─ TourismService.java
│ │ ├─ UserService.java
│ │ └─ kakaoService.java
│ └─ resources
│ ├─ application.properties
│ └─ translator.py
└─ test
└─ java
└─ com
└─ example
└─ jejutravel
└─ JejuTravelBeApplicationTests.java
<< Front-End >>
📦
.gitignore
README.md
index.html
package-lock.json
package.json
├─ postcss.config.js
├─ public
│ └─ index.html
src
│ ├─ App.jsx
│ ├─ apis
│ │ └─ index.js
│ ├─ assets
│ │ ├─ jeju.jpg
│ │ └─ land.jpg
│ ├─ components
│ │ ├─ Header.jsx
│ │ ├─ List.jsx
│ │ ├─ Map.jsx
│ │ ├─ Search.jsx
│ │ └─ TouristInfoSearch.jsx
│ ├─ hooks
│ │ └─ useInfiniteScroll.jsx
│ ├─ index.css
│ ├─ main.jsx
│ └─ pages
│ ├─ accommodation
│ │ ├─ components
│ │ │ ├─ accommodetail.jsx
│ │ │ ├─ accommolist.jsx
│ │ │ ├─ accommorecommend.jsx
│ │ │ └─ accommoreview.jsx
│ │ └─ index.jsx
│ ├─ bus
│ │ └─ index.jsx
│ ├─ home
│ │ ├─ components
│ │ │ ├─ HomeAccommodation.jsx
│ │ │ ├─ HomeShoppingRestaurant.jsx
│ │ │ ├─ HomeTourism.jsx
│ │ │ └─ MainBanner.jsx
│ │ └─ index.jsx
│ ├─ restaurant
│ │ ├─ components
│ │ │ ├─ RestaurantDetail.jsx
│ │ │ └─ RestaurantSection.jsx
│ │ └─ index.jsx
│ ├─ restroom
│ │ └─ index.jsx
│ ├─ shopping
│ │ ├─ components
│ │ │ ├─ ShoppingDetail.jsx
│ │ │ └─ ShoppingSection.jsx
│ │ └─ index.jsx
│ ├─ tourism
│ │ ├─ components
│ │ │ ├─ TourismDetail.jsx
│ │ │ └─ TourismSection.jsx
│ │ └─ index.jsx
│ └─ wifi
│ └─ index.jsx
├─ tailwind.config.js
└─ vite.config.js
7. Development Workflow (개발 워크플로우)
브랜치 전략 (Branch Strategy)
우리의 브랜치 전략은 Git Flow를 기반으로 하며, 다음과 같은 브랜치를 사용합니다.
<< Back-End >>
Main Branch
- 배포 가능한 상태의 코드를 유지합니다.
- 모든 배포는 이 브랜치에서 이루어집니다.
dev Branch
- Main Branch에 업로드되기 전, 개발 단계에서 모든 브랜치의 코드를 통합하는 브랜치입니다.
min / hy / cw-api Branch
- 팀원 개별 개발 브랜치입니다.
- 모든 기능 개발은 각자의 브랜치에서 진행됩니다.
<< Front-End >>
Main Branch
- 배포 가능한 상태의 코드를 유지합니다.
- 모든 배포는 이 브랜치에서 이루어집니다.
dev Branch
- Main Branch에 업로드되기 전, 개발 단계에서 모든 브랜치의 코드를 통합하는 브랜치입니다.
'웹 개발' 카테고리의 다른 글
[Docker] FastAPI container 설치 및 실행 with llama (0) | 2025.02.03 |
---|---|
[GitHub] Organization 관리하기 (0) | 2025.02.03 |
[GitHub] Organization vs. Repositories (collaborator, contributor) (0) | 2025.01.21 |
[GitHub] 사용법 (fork, commit, PR) (0) | 2024.10.22 |
[GitHub] 원하는 파일만 개별로 추가하는 add 및 취소하는 reset (0) | 2024.10.20 |