Logo Lanfrica

Minas-27/Addis-360

Domaine:

natural language processing

Type de record:

software
Créateur:
Min
Hôte:
An offline-first, bilingual (Amharic/English) mobile civic directory for Addis Ababa, built with Flutter. Features a zero-latency local database for instant access to city services. Addis 360 🇪🇹 Your City, One Tap Away. A 100% Offline, Open-Source Directory for Addis Ababa. ## The Story Addis 360 started from a simple physical notebook filled with vital city information. It was incredibly useful but impossible to search or carry around efficiently. I decided to digitize that notebook into a high-performance, fully offline mobile app. Today, it serves as a powerful utility for anyone living in or visiting Addis Ababa. By making this open-source, I hope to inspire other developers to turn simple everyday problems into practical tech solutions. ## Key Features * **100% Offline-First:** Contains data for over 300+ locations (Hospitals, Banks, Ministries, Police) stored locally. Zero latency, zero data cost. * **Bilingual (Amharic & English):** Seamlessly switch the entire UI and data language on the fly. * **Amharic Voice Search:** Integrated speech-to-text natively understands Amharic, allowing for hands-free navigation. * **Interactive Offline Maps:** Powered by Leaflet (`flutter_map`), rendering GPS coordinates directly within the app. * **Community Feedback Loop:** A built-in "Suggest an Edit" feature utilizing `url_launcher` to generate pre-formatted emails for database corrections. * **Premium UI/UX:** Built with a modern design language, featuring custom typography, micro-animations, and a sleek dark mode. --- ## Technical Architecture If you're a developer exploring the codebase, here is how the app is structured under the hood: ### 1. State Management (`flutter_riverpod`) We use **Riverpod** to strictly separate business logic from the UI. * **`searchQueryProvider`**: Reactively filters the offline database in real-time. * **`localeProvider`**: Listens for language changes and immediately rebuilds the UI without app restarts. * **`recentlyViewedProvider`**: Interacts with `SharedPreferences` to persist user history. ### 2. Local Data Layer (`sqflite`) To achieve zero-latency searches, the app does not rely …

Languages