RESTful API for collecting, processing, and managing real-time weather station data from IoT devices.
Description
METEOR API is the backend service responsible for receiving, validating, processing, and storing environmental measurements collected by IoT weather stations. It exposes RESTful endpoints that allow the web dashboard and external devices to securely exchange real-time weather data.
The API was designed as the core communication layer between the ESP32 weather station, the PostgreSQL database, and the administration platform.
My Role
As the backend developer, I designed and implemented the API architecture, database integration, authentication, and business logic responsible for processing environmental information.
- Developed RESTful endpoints for weather station communication.
- Implemented request validation and error handling.
- Designed the PostgreSQL database structure.
- Developed CRUD operations for weather measurements.
- Implemented authentication and protected API routes.
- Built reporting endpoints for historical weather data.
- Integrated communication with ESP32 devices through LoRa.
API Features
- RESTful API architecture.
- Secure authentication and authorization.
- Sensor data validation.
- Weather data persistence.
- Historical measurements.
- Report generation endpoints.
- Error handling and structured API responses.
- Scalable architecture for multiple weather stations.
Example Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/readings | Receive environmental measurements |
| GET | /api/readings | Retrieve stored measurements |
| GET | /api/readings/{id} | Get a specific measurement |
| GET | /api/reports/daily | Daily weather report |
| GET | /api/reports/monthly | Monthly weather report |
| POST | /api/auth/login | User authentication |
Impact
The API serves as the communication backbone of the METEOR platform, enabling reliable data collection from IoT devices, secure storage, and real-time access for the monitoring dashboard. Its modular architecture allows future integration with additional sensors, dashboards, and third-party services.
