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.jsonand place it inandroid/app/ - For iOS:
GoogleService-Info.plistand place it inios/Runner/
- For Android:
In the Firebase Console, enable the following services:
- Authentication (Email/Password)
- Cloud Firestore
- Storage
- Messaging (for notifications)
flutter runflutter build apk --releaseThe APK file will be available at build/app/outputs/flutter-apk/app-release.apk
flutter build ios --releaseThen 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.jsonassets/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