Junhyuyk Seo

Merge branch 'master' of http://khuhub.khu.ac.kr/2018102190/TFT

1 -# 2021 - 2학기 오픈소스SW개발 프로젝트 1 +# **지자체별 행사 / 축제 정보 및 날씨 제공 서비스**
2 2
3 -## 지자체별 행사 / 축제 정보 및 날씨 제공 서비스 3 +이미지 통으로 올리고 링크걸어서 이미지 표시해주기
4 4
5 -* 지자체에서 개최하는 행사 정보와 날씨 데이터를 조합하고, 사용자에게 친숙한 인터페이스를 활용하여 지역/행사별로 날씨 정보를 한눈에 볼 수 있는 서비스를 제공한다. 5 +## 순서
6 +* About the Project
7 +* Getting Started
8 + * Prerequisites
9 + * Installation
10 +* 프로젝트 구조 / 동작 방식
11 +* Usage
12 +* Roadmap
13 +* Contribution
14 +* License
15 +* Contact
6 16
7 -Built With 17 +---
18 +***
19 +---
8 20
9 -- Frontend 21 +
10 - * [Svelte](https://svelte.dev/) 22 +## **About the Project**
11 -- Backend & DB 23 +
24 +기존에 축제나 행사를 검색하기 위해서는 행사가 언제 어디서 열리는지 파악하고, 그 날짜에 맞춰서 날씨를 또 검색해 보아야 하는 번거로움이 있었다. 이러한 일련의 번거로운 과정들을 한 데 묶어 몇 번의 클릭으로 사용자가 원하는 행사 및 축제 정보를 디스플레이 함으로써 사용자의 편의 증대라는 효과를 가져올 수 있을 것으로 예상된다.
25 +
26 +본 서비스는 지자체에서 개최하는 행사 정보와 날씨 데이터를 API를 통하여 받아온 후 그를 조합하여 사용자에게 친숙한 인터페이스(svelte 활용)를 통해 지역 / 행사별로 날씨 정보를 한눈에 볼 수 있는 서비스를 제공한다.
27 +
28 +Built With
29 +- WEB
12 * [Node.js](https://nodejs.org/ko/download/) 30 * [Node.js](https://nodejs.org/ko/download/)
31 + * [Svelte](https://svelte.dev/)
32 + * [Express](https://expressjs.com/ko/)
33 +- Database
13 * [MongoDB](https://www.mongodb.com/) 34 * [MongoDB](https://www.mongodb.com/)
35 +- API Handler
36 + * [MongoDB](https://www.mongodb.com/)
37 + * [Node.js](https://nodejs.org/ko/download/)
38 + * [RequestJs](https://www.npmjs.com/package/request)
14 39
15 -## Getting Started 40 +## **Getting Started**
16 41
17 -### Prerequisites 사전 설치 파일 42 +### **Prerequisites**
18 43
19 1. Docker를 사용하는 경우 (**권장**) 44 1. Docker를 사용하는 경우 (**권장**)
20 * [도커 공식 홈페이지](https://www.docker.com/)에 접속하여 docker 및 docker-compose 설치 45 * [도커 공식 홈페이지](https://www.docker.com/)에 접속하여 docker 및 docker-compose 설치
46 +
21 1. Docker를 사용하지 않는 경우 47 1. Docker를 사용하지 않는 경우
22 * [Node.js 공식 홈페이지](https://nodejs.org/ko/download/)에 접속하여 Node.js 설치 48 * [Node.js 공식 홈페이지](https://nodejs.org/ko/download/)에 접속하여 Node.js 설치
23 * [MongoDB 공식 홈페이지](https://www.mongodb.com/)에 접속하여 MongoDB 설치 49 * [MongoDB 공식 홈페이지](https://www.mongodb.com/)에 접속하여 MongoDB 설치
24 - * [Mongoexport 사용을 위한 tool](https://www.mongodb.com/try/download/database-tools?tck=docs_databasetools)에 접속하여 mongoexport 추가 능 설치 50 + * [Mongoexport 사용을 위한 tool](https://www.mongodb.com/try/download/database-tools?tck=docs_databasetools)에 접속하여 mongoexport 추가 능 설치
25 * `Program files/mongodb/bin` 경로 안에 설치된 파일들 추가하여 확장 기능을 위한 설치 완료 51 * `Program files/mongodb/bin` 경로 안에 설치된 파일들 추가하여 확장 기능을 위한 설치 완료
26 52
53 +### **Installation**
27 54
28 -### Installation 설치 55 +* Free API Key를 [기상청 API](https://data.kma.go.kr/api/selectApiList.do?pgmNo=42), [관광공사 API](https://api.visitkorea.or.kr/main.do), [카카오 지도 API](https://apis.map.kakao.com/) 공식 사이트에서 받아온다
29 56
30 -* Windows의 경우 설치하고자 하는 폴더에 들어가서 우클릭한 후 `git bash` 를 클릭하여 터미널 창을 연다. 57 +* Windows의 경우 설치하고자 하는 폴더에 들어가서 우클릭한 후 `git bash` 를 클릭하여 터미널 창을 연다
31 58
32 * MacOs의 경우 터미널창을 연 후 Command Line Interface를 통하여 설치하고자 하는 폴더로 이동한다 59 * MacOs의 경우 터미널창을 연 후 Command Line Interface를 통하여 설치하고자 하는 폴더로 이동한다
33 60
...@@ -36,13 +63,14 @@ Built With ...@@ -36,13 +63,14 @@ Built With
36 git clone http://khuhub.khu.ac.kr/2018102190/TFT.git 63 git clone http://khuhub.khu.ac.kr/2018102190/TFT.git
37 ``` 64 ```
38 65
39 -* `npm install` 명령으로 npm 패키지 설치 66 +* 폴더를 연 후 `npm install` 명령으로 npm 패키지 설치
40 ``` 67 ```
41 npm install 68 npm install
42 ``` 69 ```
43 70
71 +* apiHandler 부분의 server.js 파일에 발급받은 API를 입력해서 사용을 위한 준비를 완료한다
44 72
45 -## 프로젝트 구조 73 +## **프로젝트 구조 / 동작 방식**
46 74
47 1. Service 1 - Web 75 1. Service 1 - Web
48 1. Frontend 76 1. Frontend
...@@ -57,45 +85,68 @@ Built With ...@@ -57,45 +85,68 @@ Built With
57 1. [관광공사 API](https://api.visitkorea.or.kr/main.do)를 호출하여 Database에 Write함 85 1. [관광공사 API](https://api.visitkorea.or.kr/main.do)를 호출하여 Database에 Write함
58 1. [기상청 API](https://data.kma.go.kr/api/selectApiList.do?pgmNo=42)를 호출하여 날씨 및 기상 관련 정보 가져옴 86 1. [기상청 API](https://data.kma.go.kr/api/selectApiList.do?pgmNo=42)를 호출하여 날씨 및 기상 관련 정보 가져옴
59 87
60 -## Usage 사용법 88 +## **Usage**
89 +
90 ++ 사진, 실제 구동 예시, 구동 방법 등 설명 필요
61 91
62 빌드 설치 설정 예시 / 방법 92 빌드 설치 설정 예시 / 방법
63 93
64 1. Docker에서 사용하는 경우 94 1. Docker에서 사용하는 경우
65 - 1. Docker-compose를 이용하여 95 + Linux Command Line Interface를 이용하여 설치 필요
66 -1. 직접 소스코드를 수정하는 경우
67 96
97 + docker 설치 필요하고, docker에서 mongodb를 띄워주야 하고,
68 98
69 -## Roadmap 99 +1. Docker에서 사용하지 않는 경우
100 + 1.
70 101
71 -* 무슨 기능들 구현했는지 시간에 따라 102 +## **Roadmap**
72 103
104 +- [v] Express 활용 서버 기본 베이스 구축 및 Dockerfile, README first commit 진행
105 +- [v] Frontend 개발을 위한 template와 ApiHandler 개발을 위한 template 추가
106 +- [v] 관광공사 API를 활용하여 DB에 축제 정보 저장하는 기능 추가
107 +- [v] ApiHandler에서 원하지 않는 정보 걸러내는 기능 추가
108 +- [v] 서버 개설 시 DB와 server connect하는 기능 추가
109 +- [v] 기상청 API를 활용하여 DB에 기상 정보 저장하는 기능 추가
110 +- [v] 카카오 지도 API를 활용하여 svelte와 연동, 인터페이스 구축
111 +- [v] MongoDB Atlas에서 JSON 형식으로 정보 받아오는 기능 추가
112 +- [v] Express와 svelte 연동
113 +- [v] Frontend에 도, 시, 군, 구 등 구획 설정 및 축제 선택 기능 추가
114 +- [v] 로고 제작 및 이미지 추가
115 +- [v] Frontend와 Backend Merge 실행
116 +- [v] ApiHandler 간소화 (불필요한 파일 제거)
117 +- [v] ApiHandler와 server.js merge 실행
118 +- [v] 실행 예시 이미지 업로드
73 119
74 -- [v] 처음 구현한 기능
75 -- [v] 그다음 구현한 기능
76 -- [v] 세번째 구현한 기능
77 -- [ ] 네번째 구현한 기능
78 -- [ ] 다섯번째 구현한 기능
79 - - [ ] 세부기능1
80 - - [ ] 세부기능2
81 120
82 -## Contribution 121 +## **Contribution**
83 122
84 프로젝트에 대한 어떠한 참여나 추가 개발도 **환영합니다**. 123 프로젝트에 대한 어떠한 참여나 추가 개발도 **환영합니다**.
85 124
86 -만약 프로젝트 발전을 위한 더 좋은 방법이 있으시다면 저희의 repo를 fork하신 후 pull request를 부탁드립니다. 125 +만약 프로젝트 발전을 위한 더 좋은 방법이 있으시다면 저희의 프로젝트를 fork하신 후 pull request를 부탁드립니다.
87 126
88 1. 프로젝트 fork 해오기 (` git clone http://khuhub.khu.ac.kr/2018102190/TFT.git `) 127 1. 프로젝트 fork 해오기 (` git clone http://khuhub.khu.ac.kr/2018102190/TFT.git `)
128 +
89 2. 새로운 기능을 위한 branch 생성 (` git checkout -b feature/newFeature `) 129 2. 새로운 기능을 위한 branch 생성 (` git checkout -b feature/newFeature `)
130 +
90 3. 바뀐 파일들 commit하기 (` git commit -m 'Add some newFeature' ` ) 131 3. 바뀐 파일들 commit하기 (` git commit -m 'Add some newFeature' ` )
132 +
91 4. Fork된 Branch에 바뀐 파일들 push하기 (` git push origin feature/newFeature `) 133 4. Fork된 Branch에 바뀐 파일들 push하기 (` git push origin feature/newFeature `)
134 +
92 5. Pull Request 보내기 135 5. Pull Request 보내기
93 136
94 -## License 137 +## **License**
138 +
139 +* [Node.js License Page](https://raw.githubusercontent.com/nodejs/node/master/LICENSE)
140 +
141 +* [svelte License Page](https://github.com/sveltejs/svelte/blob/master/LICENSE.md)
142 +
143 +* [request js License Page](https://github.com/request/request/blob/master/LICENSE)
95 144
145 +* [express js License Page](https://github.com/expressjs/express/blob/master/LICENSE)
96 146
147 +* [MongoDB License Page](https://www.mongodb.com/community/licensing)
97 148
98 -## Contact 149 +## **Contact**
99 150
100 2018102198 서준혁 junhyuk0801@khu.ac.kr 151 2018102198 서준혁 junhyuk0801@khu.ac.kr
101 152
......