Skip to content

Commit 8f3a310

Browse files
authored
Merge pull request #93 from nccu-cloud-native-group6/docs/update-readme
Docs/update readme
2 parents 856143c + 50a12b9 commit 8f3a310

8 files changed

Lines changed: 146 additions & 2 deletions

README.md

Lines changed: 146 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,150 @@
1-
# 天氣回報平台
1+
# Pmap: the map for Precipitation 🌦️
22

3-
## 小組作業目錄
3+
4+
![build workflow](https://github.com/nccu-cloud-native-group6/pmap/actions/workflows/build.yml/badge.svg)
5+
6+
7+
1. 透過「民眾回報」和「氣象局資料」計算雨況,提供更精準的雨況資訊
8+
2. 提供「定期」「定點」的雨況訂閱與通知
9+
10+
11+
## Table of contents
12+
- [Pmap: the map for Precipitation 🌦️](#pmap-the-map-for-precipitation-️)
13+
- [Table of contents](#table-of-contents)
14+
- [Main Features](#main-features)
15+
- [Demo \& Screenshots](#demo--screenshots)
16+
- [System Architecture](#system-architecture)
17+
- [Built with](#built-with)
18+
- [CI/CD](#cicd)
19+
- [Getting Started](#getting-started)
20+
- [Documentation](#documentation)
21+
- [小組作業目錄](#小組作業目錄)
22+
23+
24+
## Main Features
25+
26+
- 即時雨況地圖
27+
- 包含氣象局資料與民眾回報
28+
- 回報即時雨況資訊與照片
29+
- 提供地區雨況訂閱功能,發送站內通知與 email
30+
- 支援某地區的**新回報**通知
31+
- 支援某地區的**定時**雨況通知
32+
- 支援設定**雨量條件****關注地區範圍**
33+
- Dark mode
34+
35+
## Demo & Screenshots
36+
37+
- Report and map
38+
39+
![demo-report-10-fps](https://github.com/user-attachments/assets/962b608c-d225-48a0-a0a2-ac6d7961d3d8)
40+
41+
- Map
42+
43+
![](./docs/images/screenshot_map.png)
44+
45+
- Subscription
46+
47+
![](./docs/images/screenshot_subscribe_1.png)
48+
![](./docs/images/screenshot_subscribe_2.png)
49+
50+
- Notifications
51+
52+
![](./docs/images/screenshot_notif.png)
53+
54+
## System Architecture
55+
56+
![](docs/images/system_arch.png)
57+
58+
**Code structure:**
59+
- Frontend: [frontend](./frontend)
60+
- Backend: [backend](./backend)
61+
- Notification: [notificationServer](./notificationServer/)
62+
- Lambda related: [cloud](./cloud/)
63+
64+
## Built with
65+
66+
Primary Language: **TypeScript**
67+
68+
**Frontend**
69+
- Next.js
70+
- Leaflet
71+
- NextAuth.js
72+
- Tailwind
73+
74+
**Backend server and notification**
75+
- Express
76+
- Redis
77+
- MySQL
78+
- MQTT
79+
- AWS s3
80+
- Socket.IO
81+
82+
**Cloud Services**
83+
- AWS CDK
84+
- AWS Lambda
85+
- AWS SNS
86+
- AWS EventBridge
87+
88+
**CI/CD**
89+
- Docker
90+
- Github action
91+
- Portainer
92+
93+
## CI/CD
94+
95+
**CI pipeline**
96+
97+
![](./docs/images/ci_pipeline.png)
98+
99+
**CD pipeline**
100+
101+
![](./docs/images/cd_pipeline.png)
102+
103+
---
104+
105+
## Getting Started
106+
107+
1. **Check Environment Variables**
108+
Make sure each `.env.dev` file in the folders is correctly set up as per `.env.dev.example`.
109+
110+
2. **Install Dependencies**
111+
If dependencies are not installed yet, run the following commands:
112+
```shell
113+
cd backend
114+
npm install
115+
cd ../frontend
116+
npm install
117+
```
118+
119+
3. **Start backend and frontend**
120+
Run the following command to start:
121+
```shell
122+
cd backend
123+
npm run dev
124+
```
125+
126+
4. **(Optional) Start Cloud Services Locally**
127+
To run services like weather computing and open weather data processing locally, use:
128+
```shell
129+
cd cloud
130+
npm run local
131+
```
132+
133+
134+
---
135+
136+
## Documentation
137+
138+
| Docs | Description |
139+
| --------------------------------------------- | -------------------------------------------------------------- |
140+
| [Backend Structure](docs/backend_structure.md) | Overview of the backend architecture and development workflow |
141+
| [Frontend Structure](docs/frontend_struture.md) | Overview of the frontend architecture and development workflow |
142+
| [CI/CD with Portainer](docs/cicd.md) | CI/CD pipline and overview of Portainer and how to use it |
143+
| [AWS CDK and Lambda workflow](docs/api_doc.md) | Overview of the CDK and Lambda deployment workflow |
144+
| [API Documentation](docs/api_doc.md) | Brief overview of the project's API documentation |
145+
146+
147+
### 小組作業目錄
4148
5149
| No | Folder |
6150
| ---------- | ----------------------------------------- |

docs/images/cd_pipeline.png

86.7 KB
Loading

docs/images/ci_pipeline.png

63.1 KB
Loading

docs/images/screenshot_map.png

3.69 MB
Loading

docs/images/screenshot_notif.png

1.95 MB
Loading
3.18 MB
Loading
2.66 MB
Loading

docs/images/system_arch.png

980 KB
Loading

0 commit comments

Comments
 (0)