CarWorkshop is a cross-platform mobile app built with Flutter that helps manage car service bookings for a workshop. The app includes user authentication, role-based access (admin/mechanic), and a calendar view for tracking car service bookings. Admins can create and manage bookings, while mechanics can view jobs assigned to them.
- User Authentication: Email and password-based authentication with Firebase.
- Role Management: Different roles (admin, mechanic) with specific access rights.
- Service Bookings: Admins can create, view, and assign mechanics to service bookings.
- Calendar View: Displays service bookings for a given day, week, or month.
- Mechanic View: Mechanics can see only the jobs assigned to them.
- Real-Time Updates: Real-time data syncing with Firebase Firestore.
- Responsive UI: Adaptable to different screen sizes.
- Flutter: For cross-platform mobile development.
- GetX: For state management, routing, and dependency injection.
- Firebase Auth: For user authentication.
- Firestore: For storing and retrieving service booking data.
- table_calendar: For displaying bookings in a calendar view.
- google_fonts: For custom fonts.
- flutter_launcher_icons: For custom icon.
Before setting up the project on a new machine, ensure the following are installed:
- Flutter SDK: Version 3.24.1 or higher.
- Dart SDK: This will be installed with Flutter.
- Android Studio / Xcode: To run the app on Android or iOS.
- Firebase Account: You need a Firebase project to configure authentication and Firestore.
Clone the project repository to your local machine:
git clone https://github.com/Sumaiya-Mollika/car-workshop.git
cd car-workshop
Run the following command to install all the dependencies specified in pubspec.yaml
:
flutter pub get
- Install Android Studio: Ensure you have Android Studio set up.
- Configure the Android SDK: Make sure that the Android SDK is properly installed and available in your system's PATH.
- Connect Android Emulator or Device:
- If using an emulator, ensure the emulator is running.
- If using a physical device, enable USB debugging.
- Run the App on Android:
flutter run
- Install Xcode: Ensure you have Xcode installed for iOS development (macOS required).
- Configure Signing in Xcode:
- Open the project in Xcode (
ios/Runner.xcworkspace
). - Set up your development team and signing certificates under the "Signing & Capabilities" tab.
- Open the project in Xcode (
- Run the App on iOS:
flutter run
To set up and run this project on a new machine, follow these steps:
-
Install Flutter and Dart:
- Visit Flutter Installation Guide to set up Flutter on your operating system.
- Verify installation by running
flutter doctor
and resolve any issues.
-
Install Xcode (macOS):
- Install Xcode from the App Store for iOS development.
- Run
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
to set the Xcode path.
-
Install Android Studio:
- Download and install Android Studio for Android development.
- Set up the Android SDK by opening Android Studio and following the setup wizard.
-
Clone the Project and Install Dependencies:
-
Clone the project repository:
git clone https://github.com/Sumaiya-Mollika/car-workshop.git cd car-workshop
-
Install the necessary Flutter dependencies:
flutter pub get
-
-
Run the Project:
- Use the
flutter run
command to run the project on an emulator or physical device.
- Use the