Logo Lanfrica

EmmanuelDufitumukiza/quotes-rwanda

Domaine:

socioeconomic

Type de record:

software
Créateur:
Emm
Hôte:
# Quotes Rwanda A free, phone-friendly app that turns customer reviews of Rwandan SMEs into shareable branding tools — helping business owners grow visibility at no cost and helping customers discover trustworthy local businesses. ## Architecture Flutter Clean Architecture with **BLoC** (and one **Cubit** for simple synchronous state — see `SettingsCubit`) for state management. ``` lib/ core/ # shared: theme, error types, constants, validators, DI-free widgets settings/ # SettingsCubit + SettingsPage — theme, notifications services/ # PreferencesService — typed SharedPreferences wrapper features/ auth/ # REFERENCE FEATURE — email/password + Google, password reset data/ # datasources (Firebase calls), models, repository impl domain/ # entities, repository interface, usecases presentation/ # bloc, pages, widgets business/ # business listings & profiles — full CRUD (SME side) review/ # leaving/reading/editing/deleting reviews, shareable quote cards dashboard/ # SME owner dashboard (my businesses, ratings, review counts) home/ # bottom-nav shell (Home / Dashboard / Settings) injection/ injection_container.dart # get_it — register new feature deps here main.dart test/ unit/ # usecase / bloc / cubit tests (mocktail + bloc_test) widget/ # widget tests ``` Each feature follows the same 3-layer split as `auth`: domain (pure Dart, no Firebase) → data (Firebase-specific) → presentation (BLoC + UI). ## Features implemented - **Auth**: email/password + Google sign-in, registration with role selection (customer / SME owner), email verification on signup, password reset, sign-out, session restored on relaunch. - **Business**: browse/search/filter by category, register, edit, delete, claim an unclaimed listing — full CRUD, owner-gated writes. - **Review**: leave/edit/delete a star rating + comment + a pull-quote used to render a shareable `QuoteC …

Languages