python-flask / 0.preview

dothouse·2024년 1월 26일

python_flask

목록 보기
1/11

K-Digital Training 과정 중 첫번째 프로젝트에서
Team Project에서 웹구현을 담당하였고, 그 결과물을 정리하고자 한다.

0. 프로젝트 개요

- 주제

제주도 한달살기 숙소 선택을 위한 추천시스템 구현

- 팀명

꿀먹은 한라산

- 팀원

강민서, 김제이, 송진석, 유지현, 조신호

- 목표

a. 제주도에서 한 달 살기 하는 여행객들이 증가함에 따라 숙박 및 편의 시설에 대한 정보 부족이 문제점으로 대두. 이 문제를 해결하고 여행객들에게 도움을 주기 위한 효과적인 시스템을 구축하려고 함
b. 한 달 살기 여행객들은 각자 다양한 여행 패턴을 보이고 이를 반영하여 선호하는 관광 유형에 맞는 숙소, 주변 편의 시설, 관광지, 맛집 등의 데이터를 기반으로 한 의사 결정 지원이 필요
c .사용자 친화적인 웹 페이지를 구축하여 서비스에 쉽게 접근할 수 있도록 하고, 숙소 주변의 지도를 제공하여 숙소 및 주변 시설의 위치 직관적으로 확인 가능

- 과정

a. 데이터 수집 / 공공데이터 & 크롤링 데이터
b. 데이터 전처리 및 시각화
c. 데이터 분석 및 통합
d. 웹 구현

- 역할

a. 팀원
 1) 네이버 블로그를 통해서 제주 한달살기 데이터 수집
 2) 해당 데이터 Topic modeling, clustering을 통해서 유형 확인
 3) 팀원 수집데이터 통합
 4) 웹 구현

b. 팀장
 1) 업무 일정 조율
 2) 프로젝트 방향성 논의

1. 구조

  • 첫 flask 프로젝트라서 구조를 이해하기 위해 세분화
  • 자세한 폴더 구조 작성
web -> base folder
│
├─  jeju 
│	├── static (image, css 와 같은 양식을 담기 위한 폴더)
│   │   ├── bootstrap.min.css
│   │   └── bootstrap.min.js
│	│
│   ├── templates (구현하고자 하는 html)
│   │   ├── info
│   │	│    ├── tour_near.html
│   │	│	 └── olleh.html
│   │	├── select
│   │	│	├── select1.html
│   │	│	├── select2.html
│   │	│	└── select3.html
│   │	├── select_info
│   │	│	├── pension_info.html
│   │	│	└── tour_info.html
│   │	├── weather
│   │	│	├── weather.html
│   │	│	├── show_weather.html
│   │	│	└── show_pm.html
│	│
│   ├── views (html 파일 routing과 해당 html에 필요한 정보를 보내는 py파일)
│   │	│	├── info_views.py
│   │	│	├── main.py
│   │	│	├── select1_views.py
│   │	│	├── select2_views.py
│   │	│	├── select3_views.py
│   │	│	├── select_pension_views.py
│   │	│	├── select_tour_views.py
│   │	│	└── weather_views.py
│	│
│   ├── __init__.py (flask app - 여기선 jeju에 관한 정보, blueprint 등)
│	│
│   ├── filter.py (프로젝트 내에서 사용하고자 하는 함수들)
│	│
│   ├── models.py (연동 sqlite 데이터 모델)
│	│
├─  migrations (sqlite 연동과 관련된 폴더 - migrate시 자동생성)
│	├── versions
│	│	└── etc....
│	└── etx..
│
├─ config.py (환경설정 파일)
│
├─ jeju.db (db파일)
└── requirements.txt

2. 완성된 페이지

- 1 page - 선호 선택

a. front-end - 선호 선택 -> select1.html
b. back-end - -> select1_views.py

- 2 page - 선호 선택 결과 확인

a. front-end - 선호 선택 결과 확인 -> select2.html
b. back-end - 선호 결과 db 저장 -> select2_views.py

- 3 page - 숙소 추천

a. front-end - 숙소 추천 -> select3.html
b. back-end - 선호 결과 db / 숙소 db / 정보 db 를 토대로 숙소 점수 계산 -> select3_views.py

- 4-1 page - 숙소 주변 편의시설 정보 제공

a. front-end - 숙소 주변 편의시설 정보 제공 -> pension_info.html
b. back-end - 선호 결과 db / 숙소 db / 편의시설 정보 db 를 통해 정보제공 / 지도 시각화 -> select_pension_views

- 4-2 page - 숙소 주변 관광 정보 제공

a. front-end - 숙소 주변 관광 정보 제공 -> tour_info.html
b. back-end - 선호 결과 db / 숙소 db / 관광 정보 db 를 통해 정보제공 / 지도 시각화 -> select_tour_views

- 5-1 page - 숙소 주변 관광 자세한 정보 제공

a. front-end - 숙소 주변 관광 정보 제공 - olleh.html & tour_near.html
b. back-end - 선호 결과 db / 숙소 db / 관광 정보 db 를 통해 정보제공 / 지도 시각화 -> info_views

- 5-2 page - 숙소 주변 기상 정보 제공

a. front-end - 숙소 주변 기상 정보 제공 - weather.html
b. back-end - 선호 결과 db / 숙소 db / 기상 db 를 통해 정보제공 / 지도 시각화 -> weather_views

- 5-3 page - 숙소 주변 기상 정보 제공(그래프)

a. front-end - 숙소 주변 기상 정보 제공 - show_weather.html / pm_weather.html
b. back-end - 선호 결과 db / 숙소 db / 기상 db 를 통해 정보제공 / 그래프 시각화
weather_views

profile
새로운 길

0개의 댓글