A Flutter mobile application for renting cars, built with a layered architecture and BLoC/Cubit state management.
- Splash screen and onboarding flow
- Sign up, sign in, and OTP-based account verification
- Home screen for browsing available cars
- Owner profile management
- Bottom navigation across main app sections
- In-app notification handling
- Flutter (SDK ^3.6.0)
- flutter_bloc / bloc — state management
- go_router — navigation
- google_fonts — typography
- flutter_dotenv — environment configuration
- pinput — OTP input
- shared_preferences — local storage
- font_awesome_flutter — icons
lib/
└── 2_application/
├── core/
│ ├── services/ # Shared services
│ └── widgets/ # Reusable UI widgets
└── pages/
├── splash/
├── login/
├── signup/
├── otp/
├── account_verified/
├── home/
├── owner_profile/
├── bottom_navbar/
├── main_app/
└── global/
Each page module follows a page/cubit pattern, pairing UI with its own Cubit for state management.
- Flutter SDK (^3.6.0)
- A configured
.envfile in the project root (loaded viaflutter_dotenv)
flutter pub getflutter runTBD