- 透過「民眾回報」和「氣象局資料」計算雨況,提供更精準的雨況資訊
- 提供「定期」「定點」的雨況訂閱與通知
- 即時雨況地圖
- 包含氣象局資料與民眾回報
- 回報即時雨況資訊與照片
- 提供地區雨況訂閱功能,發送站內通知與 email
- 支援某地區的新回報通知
- 支援某地區的定時雨況通知
- 支援設定雨量條件與關注地區範圍
- Dark mode
- Report and map
- Map
- Subscription
- Notifications
Code structure:
- Frontend: frontend
- Backend: backend
- Notification: notificationServer
- Lambda related: cloud
Primary Language: TypeScript
Frontend
- Next.js
- Leaflet
- NextAuth.js
- Tailwind
Backend server and notification
- Express
- Redis
- MySQL
- MQTT
- AWS s3
- Socket.IO
Cloud Services
- AWS CDK
- AWS Lambda
- AWS SNS
- AWS EventBridge
CI/CD
- Docker
- Github action
- Portainer
CI pipeline
CD pipeline
-
Check Environment Variables
Make sure each.env.dev
file in the folders is correctly set up as per.env.dev.example
. -
Install Dependencies
If dependencies are not installed yet, run the following commands:cd backend npm install cd ../frontend npm install
-
Start backend and frontend
Run the following command to start:cd backend npm run dev
-
(Optional) Start Cloud Services Locally
To run services like weather computing and open weather data processing locally, use:cd cloud npm run local
Docs | Description |
---|---|
Backend Structure | Overview of the backend architecture and development workflow |
Frontend Structure | Overview of the frontend architecture and development workflow |
CI/CD with Portainer | CI/CD pipline and overview of Portainer and how to use it |
AWS CDK and Lambda workflow | Overview of the CDK and Lambda deployment workflow |
API Documentation | Brief overview of the project's API documentation |
No | Folder |
---|---|
小組作業 1 | planning-01 |
小組作業 2 | planning-02 |