2023_open_source_project's Issues
학번알려주세요!
2019019014 서범수
Readme.md 초안 입니다.
2023_Open_Source_Project
놀러갈래
Project summary
본 프로젝트는 2023-1학기 오픈소스기초프로젝트에서 시작된 프로젝트로 간편한 여행계획에 필요한 여러 정보를 종합적으로 제공하기 위한 플랫폼이다.
Purpose
여행 계획을 세울때 여행지 정보 따로 날씨정보 따로 파편화 되어있어서 혹은 너무 많아서 불편함을 겪었던 경우가 있다. 만약 당일치기 여행이나 나들이 계획을 세운 다면 방대한 정보는 때론 방해가 되기도 한다.
특히 갑자기 훌쩍 떠나고 싶을때 차안에서 스마트폰으로 주야장천 어딜 갈지 겁색하는 건 꽤나 궁상맞는 일일 것이다.
이에 우리는 여행지 정보와 날씨정보 모두 통합해 제공하는 시스템이 필요하다 여겼고
본 플랫폼은 날씨 예측 기반 여행지 추천 및 정보 제공으로 그러한 니즈를 충족시킬 수 있다.
Requirements
- Backend
- requirements.txt 참고.
- Nginx
- MYSQL
- uWSGI, Python3 plugin
- Chrome
- Frontend
- React
How to install
- First git clone
git clone ...........
- Backend install
cd 2023_Open_Source_Project/backend
pip3 install -r server/requirements.txt
- Install Nginx >= 1.18.0
sudo apt-get install nginx
- Install MYSQL >= 8.0.33
sudo apt-get install mysql-server mysql-client
- Install uWSGI-Plugin-Python3
sudo apt-get install uwsgi-plugin-python3
- Install Chrome lastest version
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i ./google-chrome-stable_current_amd64.deb
- Frontend install
- install Librarys
cd 2023_Open_Source_Project/frontend
npm install i
How to use
- Backend server start
cd 2023_Open_Source_Project/backend
sudo sh server/setupAPIserver.sh
- Frontend server start
- Start React
npm run dev
- Open Page
http://localhost:5173
Version History
- v.0.0.1 : 프로토 타입
Contributor
Seobeomsu : 서범수 |
---|
yangsua : 양수아 |
AhnJewon : 안제원 |
License
MIT License
Copyright (c) 2023 Seobeomsu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
백엔드/ master에서의 코드
master에 날씨 점수 계산, 중기예보 조회, 그리고 별 관측하기 좋은 날짜 추천함수의 코드를 입력하였습니다.
혹시 수정했으면 좋을 것 같은 부분이나 추가할 부분 있으면 피드백해주시기 바랍니다.
Issue Label 수정 및 공지사항
issue label들을 적당히 만들어봤습니다.
이후 작성하실때 label을 붙여서 작성해주시면 되겠습니다.
issue 작성하실떄 assigneers 체크해주셔야지 알람이가므로 가능하면 해주시길바랍니다.
또는 카톡방에 issue 업데이트되었다고 알려주시면 되겠습니다.
issue 올리는거에 부담가지지 마시고 궁금한거나 물어볼거 정할거있으면 편하게 작성해주세요!
감사합니다.
놀러갈래 - Midterm Presentation - 회의전 필요한내용
- 이 프로그램의 필요성
- 타 프로그램과의 차별점
- 추진방법 및 일정
- 기상데이터 Json 형식 데이터들 어떻게 오는지 확인
- 기상데이터 가공 로직
- 화면 예시
날씨 예보 api문제
기상청 api를 계속해서 찾아보니 중기예보는 최대 10일까지의 각 날의 날씨를 예보하고 장기예보는 1개월 단위나 3개월 단위로 각각의 날이 아닌 평균적인 예보를 제공하고 있습니다.
이점에 대해서 어떻게 해결할 수 있을지 의견주시기 바랍니다.
https://www.data.go.kr/data/15059468/openapi.do
우선 중기예보 api url 올리겠습니다.
앱 필요성에 대해 한번 써봤습니다
앱 필요성:
여행 계획을 세울때 여행지 정보 따로 날씨정보 따로 파편화 되어있음 따라서 불편함이 야기됨 여행지 정보와 날씨정보 모두 통합된 시스템 필요
교통 발달로 당일 치기 여행 잛은 여행 증가 복잡한 여행 계획 대신 간편한 여행계획의 필요성 대두 따라서 꼭 필요한 정보만이 필요함
본 앱은 날씨 예측 기반 여행지 추천 및 정보 제공으로 그러한 니즈를 충족시킬 수 있다
사용할 api 알림
프론트 코틀린 ▶ 웹 리액트
프론트엔드를 코틀린을 공부해서 안드로이드로 만들려고하였으나, 시간내에 못맞출것같아
웹사이트 리액트로 변경하게되었습니다.
죄송합니다.
api 실행 관련 질문
중기예보 api를 실행해보려 했으나
http://apis.data.go.kr/1360000/MidFcstInfoService/getMidLandFcst?serviceKey=Cy2hhB4CjnW9YfGUIRuM8eJD2ywoJH1SBWFqYHxWi45mcv79MUbHVrYA1XK%2BeAKvgo45fGbS2%2B68GnXROF6ipw%3D%3D&numOfRows=10&pageNo=1®Id=11B00000&tmFc=201310171800
이러한 메시지가 뜨게 되는데, 이 다음에 어떻게 진행해야하는지 감이 잡히질 않습니다. 도와주시면 감사하겠습니다.
백엔드 내용 공유
제원님, 백엔드에서 어떤내용 진행하셨는지 알려주실 수 있으신가요?
참고해야할 것 같아서 질문드립니다.
그리고 혹시 제가 진행했으면 하는 부분도 알려주시면 감사하겠습니다.
기상청 api 정보
예보구분 | 항목값 | 항목명 | 단위 | 압축bit수
단기예보 | POP | 강수확률 | % | 8
PTY | 강수형태 | 코드값 | 4
PCP | 1시간 강수량 | 범주 (1 mm) | 8
REH | 습도 | % | 8
SNO | 1시간 신적설 | 범주(1 cm) | 8
SKY | 하늘상태 | 코드값 | 4
TMP | 1시간 기온 | ℃ | 10
TMN | 일 최저기온 | ℃ | 10
TMX | 일 최고기온 | ℃ | 10
UUU | 풍속(동서성분) | m/s | 12
VVV | 풍속(남북성분) | m/s | 12
WAV | 파고 | M | 8
VEC | 풍향 | deg | 10
WSD | 풍속 | m/s | 10
초단기실황 | T1H | 기온 | ℃ | 10
RN1 | 1시간 강수량 | mm | 8
UUU | 동서바람성분 | m/s | 12
VVV | 남북바람성분 | m/s | 12
REH | 습도 | % | 8
PTY | 강수형태 | 코드값 | 4
VEC | 풍향 | deg | 10
WSD | 풍속 | m/s | 10
초단기예보 | T1H | 기온 | ℃ | 10
RN1 | 1시간 강수량 | 범주 (1 mm) | 8
SKY | 하늘상태 | 코드값 | 4
UUU | 동서바람성분 | m/s | 12
VVV | 남북바람성분 | m/s | 12
REH | 습도 | % | 8
PTY | 강수형태 | 코드값 | 4
LGT | 낙뢰 | kA(킬로암페어) | 4
VEC | 풍향 | deg | 10
WSD | 풍속 | m/s | 10
App Icon 으로 사용할 그림
기상청 api 활용가이드
front_backend 데이터 전달 api 엔드포인트
front_backend 파일의 코드에
data 변수에 프론트엔드로 전달할 데이터가 포함되어있습니다.
HTTP GET 요청을 수신하면 /data 엔드포인트는 data 변수에 저장된 데이터를 JSON 형식으로 응답할겁니다.
프론트에서 api 엔드포인트로 get 요청을 보내서 데이터 수신가능합니다.
https://github.com/Seobeomsu/2023_Open_Source_Project/blob/feature_star-weather/front%20_backend
front <-> backend 전송할 데이터
front 에서 보낼내용
지역 코드 , 활동 // 예시 {
{ legioncode: 1, activity: "꽃놀이" }
기상청 api에서 어떤 지역코드가 어느지역인지 적어주시면 감사하겠습니다.
backend에서 보낼내용
id , date , weather , hightempature , low tempature , state ( 좋은날인지 아닌지 구분)
{ id : 1 ,date : "5.31", weather : "good", hightempature : "45", lowtempature : "-45" , state : "bad"},
데이터 주는거 추가하실게있으면 알려주세요
activity는
꽃놀이 , 물놀이 , 캠핑 , 피크닉 , 별관측 으로 5가지만 하겠습니다. 추가하실꺼면 말씀하세요.
기존 유사 사이트들의 한계
true 청주 -> 관광지에 가기 좋은 날씨에 대한 정보 없음
첫 화면 날씨 -> 직접 관광지를 입력해서 날씨 예보를 제공받을 수 있으나,
청주에 어떠한 관광지가 있는지, 또 관광지의 위치는 어디인지 알 수 없음.
즉, 기존에 있는 사이트들은 우리가 만들고자 하는 앱과 완전히 일치하지 않는다.
주간회의 날짜 정하기
매주 프로젝트 진행상황이나 서로 알고있는 내용을 공유하기위해 주마다 회의할 날짜를 정하려고합니다!
각자 시간표와 하기어려운시간을 밑에 적어주세요!
4월 13일 회의록
주제: 기상정보에 따른, 야외활동하기 좋은 day 예측. 장소추천
+서브: 기상정보에 따라 다음날의 외출복 예측.
범위: 최소 청주 내에서. 1년의 기상정보 예측과 좋은 날짜 추천 필수.
백엔드 : 파이썬
프론트: 안드로이드(코틀린)
기상청 api 사용.
프론트엔드 – 백엔드 어떻게 통신할지
프론트엔드 백엔드 범위 정하기
‘last api’: 기상청 api – 백엔드 - 프론트
기능
-프론트엔드에서 데이터저장 후
-로컬에 저장 후 서버에 송신
안드로이드 – 날짜데이터 받아와서 3개월
or 기상청 당일 데이터 받아와서
지역 – 청주
장소추천: 직접 찾아서 추천 or 카카오 api를 통해서
캘린더 형식으로, 야외활동하기 좋은 날짜 추천. 날짜를 선택해서 들어가면 청주 지도에 특정 장소 표시.
지도 api.
카카오 맵 api: https://haries.tistory.com/6
중간 프레젠테이션: api와 기능들의 계획. 앱디자인 초안. first commit.
다음 회의까지 할일:
서범수 님 – 앱화면 초안 작성, 프론트 앤드 초기 커밋
안제원 님, 양수아– 백엔드 초기 커밋백엔드 초기 커밋, 서버, 폴더 나누기, 코드 작성, api 정보 받아오는 코드 작성.
다음 회의 :로직
카톡과 이슈 열심히 활용.
앱 이름: "놀러갈래"
백엔드에서 관광지 데이터 전송 관련
front request
url =http://54.180.194.206:8000/TourSpot
mrthod = POST
body = { "stnId" : "131", "activity" : "code(01, 02, 03, 04, 05)" } ( json 타입으로)
보내시면
{
"StatusCode": "200",
"data": [
{
"stnId": "131",
"name": "고릴라캠핑청주점",
"address": "충청북도 청주시 서원구 남이면 수대리 233-1",
"context": "매장 내 쇼핑",
"imageaddress": "https://lh5.googleusercontent.com/p/AF1QipNwF-Gd6UowdqIpHEepMkw7WtTM2PkR4ZdtNWt2=w408-h862-k-no",
"activity": "03"
},
{
"stnId": "131",
"name": "금관숲캠핑장",
"address": "충청북도 청주시 상당구 미원면 운암계원로 628",
"context": "nothing",
"imageaddress": "https://lh5.googleusercontent.com/p/AF1QipNmSkp9xS-bTQ6IN9rFyIRqgf5KPDJLkb8Xnj8-=w408-h544-k-no",
"activity": "03"
},
....
]
}
형식으로 데이터가 보내집니다
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.