Logo Lanfrica

bunnybugs-bot/meteo-senegal

Domain:

digital infrastructure

Record type:

software
Creator:
bun
Host:
# 🌤️ Météo Sénégal Application Flutter complète affichant la météo en temps réel de 5 villes du Sénégal, avec une expérience de chargement animée, une interface inspirée d'Apple Weather, et une carte interactive pour chaque ville. ## ✨ Fonctionnalités - **Écran d'accueil** dynamique (dégradé selon l'heure réelle, soleil/lune animés) - **Jauge de progression animée** avec messages rotatifs pendant le chargement des données - **Appels API réels et décalés** vers OpenWeather pour 5 villes sénégalaises (Dakar, Thiès, Saint-Louis, Ziguinchor, Touba) - **Tableau interactif** des villes avec cartes en verre dépoli (glassmorphism) - **Détail par ville** : météo actuelle, prévisions horaires, description contextuelle, et localisation sur Google Maps - **Gestion d'erreurs** individuelle par ville + détection globale de perte de connexion - **Mode clair / sombre** avec palette premium - **Unité °C / °F** au choix, persistante - **Transitions animées** en fondu entre les écrans - **Tests unitaires et widgets** ## 🛠️ Stack technique | Domaine | Techno | |---|---| | Framework | Flutter (Android, iOS, Web) | | State management | Riverpod | | Réseau | Retrofit + Dio | | Cartes | Google Maps (`google_maps_flutter`) | | Météo | OpenWeather API | | Navigation | go_router | | Icônes météo | Meteocons (SVG) | | Gestion d'erreurs | fpdart (Either/Failure) | | Tests | flutter_test, mocktail | ## 🏗️ Architecture Le projet suit une **Clean Architecture allégée**, en 3 couches : ``` lib/ ├── core/ # Constantes, thème, réseau, erreurs, utilitaires ├── data/ # Modèles (DTO), datasources API, implémentation repository ├── domain/ # Entities, interfaces repository, usecases └── presentation/ # Providers Riverpod, écrans, widgets, navigation ``` - `domain/` ne dépend d'aucune techno externe (ni Flutter, ni Dio) → testable en isolation - `data/` est la seule couche qui parle à l'API OpenWeather - `presentation/` ne consomme que des entities du domain, jam …

Languages