Giter Site home page Giter Site logo

2023_open_source_project's Introduction

header

character


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

  • Config server

open conf.py and modify it if you want

공공 데이터 api 서비스키
service_key =\
    {
        'service_key': 'use your service key from https://www.data.go.kr/index.do' 
    }

# MSQL 서버 정보
mysqlConf =\
    {
        'user': 'ApiDataServer',
        'passwd': '1234',
        'db': 'ApiDataBase',
        'host':'localhost'
    }
  • Start Backend server
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.

2023_open_source_project's People

Contributors

ahnjewon avatar seobeomsu avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

yangsua

2023_open_source_project's Issues

프론트 코틀린 ▶ 웹 리액트

프론트엔드를 코틀린을 공부해서 안드로이드로 만들려고하였으나, 시간내에 못맞출것같아
웹사이트 리액트로 변경하게되었습니다.
죄송합니다.

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

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.

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가지만 하겠습니다. 추가하실꺼면 말씀하세요.

4월 13일 회의록

주제: 기상정보에 따른, 야외활동하기 좋은 day 예측. 장소추천
+서브: 기상정보에 따라 다음날의 외출복 예측.

범위: 최소 청주 내에서. 1년의 기상정보 예측과 좋은 날짜 추천 필수.

백엔드 : 파이썬
프론트: 안드로이드(코틀린)

기상청 api 사용.

프론트엔드 – 백엔드 어떻게 통신할지

프론트엔드 백엔드 범위 정하기

‘last api’: 기상청 api – 백엔드 - 프론트

기능
-프론트엔드에서 데이터저장 후
-로컬에 저장 후 서버에 송신

안드로이드 – 날짜데이터 받아와서 3개월
or 기상청 당일 데이터 받아와서

지역 – 청주
장소추천: 직접 찾아서 추천 or 카카오 api를 통해서
캘린더 형식으로, 야외활동하기 좋은 날짜 추천. 날짜를 선택해서 들어가면 청주 지도에 특정 장소 표시.
지도 api.
카카오 맵 api: https://haries.tistory.com/6
중간 프레젠테이션: api와 기능들의 계획. 앱디자인 초안. first commit.

다음 회의까지 할일:
서범수 님 – 앱화면 초안 작성, 프론트 앤드 초기 커밋
안제원 님, 양수아– 백엔드 초기 커밋백엔드 초기 커밋, 서버, 폴더 나누기, 코드 작성, api 정보 받아오는 코드 작성.

다음 회의 :로직

카톡과 이슈 열심히 활용.

앱 이름: "놀러갈래"

백엔드/ master에서의 코드

master에 날씨 점수 계산, 중기예보 조회, 그리고 별 관측하기 좋은 날짜 추천함수의 코드를 입력하였습니다.
혹시 수정했으면 좋을 것 같은 부분이나 추가할 부분 있으면 피드백해주시기 바랍니다.

Issue Label 수정 및 공지사항

issue label들을 적당히 만들어봤습니다.
이후 작성하실때 label을 붙여서 작성해주시면 되겠습니다.
issue 작성하실떄 assigneers 체크해주셔야지 알람이가므로 가능하면 해주시길바랍니다.
또는 카톡방에 issue 업데이트되었다고 알려주시면 되겠습니다.
issue 올리는거에 부담가지지 마시고 궁금한거나 물어볼거 정할거있으면 편하게 작성해주세요!
감사합니다.

앱 필요성에 대해 한번 써봤습니다

앱 필요성:
여행 계획을 세울때 여행지 정보 따로 날씨정보 따로 파편화 되어있음 따라서 불편함이 야기됨 여행지 정보와 날씨정보 모두 통합된 시스템 필요

교통 발달로 당일 치기 여행 잛은 여행 증가 복잡한 여행 계획 대신 간편한 여행계획의 필요성 대두 따라서 꼭 필요한 정보만이 필요함

본 앱은 날씨 예측 기반 여행지 추천 및 정보 제공으로 그러한 니즈를 충족시킬 수 있다

날씨 예보 api문제

기상청 api를 계속해서 찾아보니 중기예보는 최대 10일까지의 각 날의 날씨를 예보하고 장기예보는 1개월 단위나 3개월 단위로 각각의 날이 아닌 평균적인 예보를 제공하고 있습니다.
이점에 대해서 어떻게 해결할 수 있을지 의견주시기 바랍니다.
https://www.data.go.kr/data/15059468/openapi.do
우선 중기예보 api url 올리겠습니다.

기존 유사 사이트들의 한계

true 청주 -> 관광지에 가기 좋은 날씨에 대한 정보 없음
첫 화면 날씨 -> 직접 관광지를 입력해서 날씨 예보를 제공받을 수 있으나,
청주에 어떠한 관광지가 있는지, 또 관광지의 위치는 어디인지 알 수 없음.

즉, 기존에 있는 사이트들은 우리가 만들고자 하는 앱과 완전히 일치하지 않는다.

백엔드 내용 공유

제원님, 백엔드에서 어떤내용 진행하셨는지 알려주실 수 있으신가요?
참고해야할 것 같아서 질문드립니다.
그리고 혹시 제가 진행했으면 하는 부분도 알려주시면 감사하겠습니다.

기상청 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

주간회의 날짜 정하기

매주 프로젝트 진행상황이나 서로 알고있는 내용을 공유하기위해 주마다 회의할 날짜를 정하려고합니다!
각자 시간표와 하기어려운시간을 밑에 적어주세요!

백엔드에서 관광지 데이터 전송 관련

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.