Skip to content

nccu-cloud-native-group6/pmap

Repository files navigation

Pmap: the map for Precipitation 🌦️

build workflow

  1. 透過「民眾回報」和「氣象局資料」計算雨況,提供更精準的雨況資訊
  2. 提供「定期」「定點」的雨況訂閱與通知

Table of contents

Main Features

  • 即時雨況地圖
    • 包含氣象局資料與民眾回報
  • 回報即時雨況資訊與照片
  • 提供地區雨況訂閱功能,發送站內通知與 email
    • 支援某地區的新回報通知
    • 支援某地區的定時雨況通知
    • 支援設定雨量條件關注地區範圍
  • Dark mode

Demo & Screenshots

  • Report and map

demo-report-10-fps

  • Map

  • Subscription

  • Notifications

System Architecture

Code structure:

Built with

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/CD

CI pipeline

CD pipeline


Getting Started

  1. Check Environment Variables
    Make sure each .env.dev file in the folders is correctly set up as per .env.dev.example.

  2. Install Dependencies
    If dependencies are not installed yet, run the following commands:

    cd backend
    npm install
    cd ../frontend
    npm install
  3. Start backend and frontend
    Run the following command to start:

    cd backend
    npm run dev
  4. (Optional) Start Cloud Services Locally
    To run services like weather computing and open weather data processing locally, use:

    cd cloud
    npm run local

Documentation

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

About

Pmap: the map for Precipitation 🌦️

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5