Strathmover is a user-friendly transport management application designed to simplify the booking and management of bus trips. Whether you're a student or staff at Strathmore University, this app makes it easy to manage your transportation needs.
- Easy Booking: Quickly book trips with just a few taps.
- Transport History: View your past bookings and manage your travel history.
- User Profiles: Manage your profile and keep track of your bookings.
- Filter Options: Filter your bookings by date or departure time to find specific trips.
-
Clone the Repository:
git clone https://github.com/your-username/strathmover.git cd strathmover -
Install Flutter Dependencies:
flutter pub get
-
Set Up Firebase:
- Follow the Firebase setup guide to add Firebase to your Flutter project.
- Download the
google-services.jsonfile for Android andGoogleService-Info.plistfor iOS and place them in their respective directories.
-
Run the App:
flutter run
-
Login/Register:
- Open the Strathmover app.
- Login with your email and password, or register for a new account if you don't have one.
-
Book a Trip:
- Browse available trips on the main screen.
- Select a trip, choose your preferred seat, and confirm your booking.
-
View Transport History:
- Navigate to the profile screen.
- Access your transport history to view past bookings.
- Use filters to sort bookings by date or departure time.
-
Manage Profile:
- Update your personal information in the profile section.
- Keep track of your bookings and personal details.
-
Booking a Trip:
- Select a trip from the list of available trips.
- Choose a seat and confirm your booking.
-
Filtering Bookings:
- Go to the transport history screen.
- Use the filter options to narrow down your bookings by date or departure time.
- Input: User inputs for booking trips include trip selection, seat choice, and personal details.
- Output: Confirmation of bookings, updated transport history, and filtered lists of bookings.
- lib/: Contains the main application code.
- features/: Contains different features of the app.
- authentication/: Manages user authentication.
- views/: Contains UI screens for authentication.
- booking/: Manages trip booking functionality.
- transport_history/: Manages user transport history.
- routes/: Manages the routes functionality.
- notifications/: Manages notifications functionality.
- models/: Contains data models used across the app.
booking_model.darttrip_model.dartuser_model.dartroute_model.dart
- controllers/: Contains global controllers.
auth_controller.dartbooking_controller.darthome_controller.dartroute_controller.darttransport_history_controller.dart
- services/: Contains global services.
api_service.dartauth_service.dartbooking_service.dartnotification_service.dartroute_service.dart
- utils/: Contains utility classes and functions.
constants.darthelpers.darttheme.dartvalidators.dart
- main.dart: Entry point of the application.
- booking_controller.dart: Manages booking-related logic.
- transport_history_controller.dart: Manages transport history logic.
- booking_model.dart: Defines the data structure for bookings.
This project is currently in progress with active development.
- Route on home screen not redirecting. Work in progress.
- Project structure not well defined in README.
- Bus Map implementation in Booking Screen. Investigations ongoing.
- Cancel/Completed not functional on home screen yet. Work in progress.
- Time sensitivity on fetching bookings in home screen. Work in progress.
For support or any issues, please contact the Strathmover support team:
This project is licensed under the MIT License - see the LICENSE file for details.





