A Flutter mobile application for bus navigation, tracking, and attendance management with QR code scanning functionality.
- Authentication: User login and registration system
- Bus Navigation: Real-time bus tracking and navigation
- QR Attendance: Scan QR codes to mark attendance
- Notifications: Receive important updates and alerts
- User Profiles: Manage user information and preferences
- Comments System: Provide feedback and communicate with others
Before running the application, make sure you have the following installed:
- Flutter SDK (>=2.17.0 <3.0.0)
- Dart SDK (compatible with Flutter version)
- Android Studio or VS Code with Flutter extensions
- Git for version control
- A Firebase project (for authentication, database, and storage)
git clone https://github.com/fuzziecoder/Bus-NavX-App.git
cd "Bus NavX"
flutter pub get
- Create a Firebase project at Firebase Console
- Add Android and iOS apps to your Firebase project
- Download the configuration files:
- For Android:
google-services.json
and place it inandroid/app/
- For iOS:
GoogleService-Info.plist
and place it inios/Runner/
- For Android:
In the Firebase Console, enable the following services:
- Authentication (Email/Password)
- Cloud Firestore
- Storage
- Messaging (for notifications)
flutter run
flutter build apk --release
The APK file will be available at build/app/outputs/flutter-apk/app-release.apk
flutter build ios --release
Then open the Xcode workspace at ios/Runner.xcworkspace
and archive the application.
lib/ ├── app.dart # Main app configuration ├── config/ # App configuration │ ├── constants.dart # App constants │ ├── routes.dart # Navigation routes │ └── themes.dart # App themes ├── main.dart # Entry point ├── models/ # Data models ├── screens/ # App screens │ ├── auth/ # Authentication screens │ ├── bus_nav/ # Bus navigation screens │ ├── comments/ # Comments screens │ ├── dashboard/ # Main dashboard │ ├── home/ # Home screen │ ├── profile/ # User profile │ ├── qr_attendance/ # QR code scanning │ └── splash/ # Splash screen ├── services/ # Backend services └── widgets/ # Reusable widgets
- Firebase: Authentication, database, storage, and messaging
- Provider: State management
- Rive & Lottie: Animations
- Google Maps & Geolocator: Maps and location services
- QR Code: QR code scanning and generation
- UI Components: Various UI enhancement libraries
-
Firebase Configuration: Ensure the Firebase configuration files are correctly placed in their respective directories.
-
Animation Files: If animations aren't working, check that the required files exist in:
assets/animations/success.json
assets/rive/icons.riv
-
Permissions: Make sure to grant location and camera permissions for the app to function properly.
If you encounter any issues, please:
- Check the Flutter documentation
- Review the Firebase documentation
- Search for similar issues in the project's issue tracker
- Open an issue in the GitHub repository