Open Source Rwanda Weather App
# Rwanda Weather API
> Enterprise-grade meteorological data service providing real-time weather information for all 31 districts of Rwanda. Accessible via web and mobile applications through a unified RESTful API.
---
## Overview
This comprehensive full-stack solution delivers precise weather forecasts for every administrative district in Rwanda by leveraging the Open-Meteo API integration. The architecture employs:
- **Frontend**: Vue.js 3 with Composition API and Bootstrap 5
- **Backend**: Node.js with Express.js framework
- **Database**: MongoDB with Mongoose ORM
The system features a RESTful API designed for cross-platform compatibility across web and mobile clients.
*Kinyarwanda*: Iyi serivisi itanga amakuru y'ibihe by'ikirere ku turere twose 31 tugize u Rwanda, hakoreshejwe Open-Meteo API. Yubatswe hakoreshejwe Vue 3, Express.js, na MongoDB.
---
## Technical Architecture
| Layer | Technology | Function |
|-------------|-------------------|-----------|
| Frontend | Vue 3, Bootstrap 5 | User interface and data visualization |
| Backend | Node.js, Express.js | API routing and business logic |
| Database | MongoDB + Mongoose | Data persistence and querying |
| External Services | Open-Meteo API | Weather data acquisition |
---
## Project Structure
The application follows standard industry practices for code organization:
```
rwanda-weather-app/
├── backend/ # Express REST API implementation
├── frontend/ # Vue.js application
```
### Backend Architecture
```
backend/
├── routes/ # API endpoint definitions
├── controllers/ # Business logic implementation
├── models/ # Database schema definitions
├── services/ # External API integrations
├── data/ # Geospatial coordinates for districts
├── config/ # Environment configuration
├── middleware/ # Request processing middleware
├── utils/ # Helper functions
└── server.js # Application entry point
```
### Frontend Architecture
```
frontend/
├─ …