https://github.com/ajcuddeback/nimbus
A weather statistics application
https://github.com/ajcuddeback/nimbus
ai angular java langchain4j mongodb spring-boot spring-webflux
Last synced: 5 months ago
JSON representation
A weather statistics application
- Host: GitHub
- URL: https://github.com/ajcuddeback/nimbus
- Owner: ajcuddeback
- Created: 2024-11-27T02:15:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-28T02:19:44.000Z (5 months ago)
- Last Synced: 2026-01-28T17:26:46.034Z (5 months ago)
- Topics: ai, angular, java, langchain4j, mongodb, spring-boot, spring-webflux
- Language: Java
- Homepage:
- Size: 2.67 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# ๐ฉ๏ธ Nimbus โ Real-Time Weather Station Platform
> A full-stack weather monitoring system that streams data from a physical Raspberry Pi sensor to a cloud-hosted application using MQTT, Spring WebFlux, MongoDB, and Angular SSR.
---
## ๐ฐ๏ธ Overview
Nimbus collects minute-by-minute atmospheric data from a custom-built weather station (running on a Raspberry Pi), ingests the data over MQTT into a reactive Java backend, stores it in MongoDB, and renders it in real-time via an Angular SSR frontend deployed on a virtual machine with NGINX.

---
## โ๏ธ Tech Stack
| Layer | Technology |
|--------------|-----------------------------------------|
| IoT Sensor | Raspberry Pi, Python, BME280 |
| Messaging | MQTT (Mosquitto broker) |
| Backend | Java, Spring WebFlux, Reactor, MongoDB |
| Frontend | Angular (SSR with hydration), ngx-charts |
| Deployment | Ubuntu VM, NGINX, PM2 |
---
## ๐ Live Demo
๐ [https://nimbus-weather-project.com](https://nimbus-weather-project.com)
---
## ๐ง Features
- **Real-time streaming** from Raspberry Pi over MQTT
- **Reactive backend** using Spring WebFlux and Reactor
- **Minute-by-minute ingestion** into MongoDB
- **Historical charting** by metric and time
- **SSR-enabled Angular UI** for SEO & fast load
- **Self-hosted on a virtual machine** using NGINX
---
## ๐งช Local Dev Setup
### Note
You must have a raspberry pi running the code from https://github.com/ajcuddeback/nimbus-pi.git and a MongoDB instance
```bash
# clone repo
git clone https://github.com/ajcuddeback/nimbus.git
cd nimbus
# Setup backend
cd weatherapi/weatherapi
./mvnw spring-boot:run
# Setup frontend
cd ../../app
npm install
npm run dev:ssr