Move Smart is a Flutter app focused on reducing queue uncertainty in Kigali public transport by enabling trip and seat booking flows.
Implemented:
- Welcome, Login, Signup, Profile, and Settings UI flow
- Global authentication state gate (logged-in vs logged-out)
- Auth methods:
- Email/Password
- Google sign-in
- Apple sign-in (iOS/macOS)
- Firestore users collection sync on sign-in/sign-up
- Local persistence (
SharedPreferences) for:- Login session info/token
- Language preference
- Dark mode preference
- Unit tests for email/password validation logic
-
Install dependencies:
flutter pub get -
Run app:
flutter run
This codebase includes Firebase auth datasource implementation.
To fully enable production auth:
- Create Firebase project.
- Add Flutter apps (Android/iOS/Web/macOS as needed).
- Configure Firebase files/options for each platform.
- Enable providers in Firebase Authentication:
- Email/Password
- Apple (Apple Developer setup required)
- Create Firestore database (users collection will be created/updated automatically by app sign-in flows).
If Firebase is not configured yet, the app falls back to a local demo auth datasource for UI flow testing.
Run:
flutter test