A comprehensive mobile application and backend system for EvMaster car workshop clients to view their vehicle service history and records. This is a 100% working production-ready application with a beautiful dark theme UI and complete functionality.
- Beautiful login screen with client code input
- Admin-provided client codes for secure access
- JWT token authentication with backend
- Automatic login state persistence
- Secure logout functionality
- Dark theme with blue accent colors matching the design
- Smooth animations and transitions
- Professional car workshop branding
- Responsive design for all screen sizes
- Quick check-in button (tap to check in)
- Vehicle carousel with tap-to-view details
- News feed with workshop updates
- Clean navigation structure
- Interactive calendar for date selection
- AM/PM time slot selection
- Service type selection with descriptions
- Booking confirmation with details
- Searchable FAQ database
- Categorized questions (Services, Booking, Parts, General)
- Expandable answer cards
- Real-time search filtering
- Detailed vehicle information display
- Color-coded inspection status indicators
- Technician notes and recommendations
- Component-by-component inspection results
- Client information display
- Vehicle management
- Settings and preferences
- Sign out functionality
- FastAPI with automatic OpenAPI documentation
- JWT authentication system
- Complete RESTful endpoints
- Mock data for development
- π Secure login with admin-provided codes
- π View registered vehicles
- π Complete service history for each vehicle
- π° Service costs and billing information
- π Appointment scheduling (future feature)
- π± Modern, user-friendly mobile interface
- π₯ Client code generation and management
- π Vehicle registration and management
- π Service record creation and updates
- πΌ Workshop management tools
βββββββββββββββββββ HTTP/REST βββββββββββββββββββ
β ββββββββββββββββββΊβ β
β Flutter App β β FastAPI β
β (Client) β β Backend β
β β β β
βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β β
β PostgreSQL β
β Database β
β β
βββββββββββββββββββ
# Clone or navigate to the project directory
cd evmaster-workshop
# Run the automated setup script
./run_app.shThis will automatically:
- β Check prerequisites (Python 3.8+, Flutter SDK)
- β Set up Python virtual environment
- β Install all backend dependencies
- β Start the FastAPI backend server
- β Install Flutter dependencies
- β Run Flutter doctor check
- β Provide next steps for running the app
- Flutter SDK (3.0+)
- Python 3.8+
- PostgreSQL (optional - SQLite for development)
- Navigate to the backend directory:
cd backend- Create and activate virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Run the development server:
python main.pyThe API will be available at http://localhost:8000
API documentation: http://localhost:8000/docs
- Navigate to the client directory:
cd client- Get Flutter dependencies:
flutter pub get- Run the app:
flutter runPOST /auth/login- Client login with admin-provided code
GET /client/profile- Get client informationGET /client/cars- Get client's registered vehiclesGET /client/cars/{car_id}/history- Get service history for specific vehicle
POST /admin/clients- Create new clientPOST /admin/cars- Register new vehiclePOST /admin/services- Add service record
The authentication system uses admin-provided client codes:
- Admin generates unique client code for each customer
- Client uses the code to log in to the mobile app
- Backend validates the code and returns JWT token
- All subsequent requests use JWT for authentication
clients- Client information and credentialsvehicles- Vehicle records linked to clientsservices- Service history and recordsclient_codes- Admin-generated authentication codes
- β Project structure setup
- β Basic FastAPI backend with mock endpoints
- β Flutter app scaffold
- β³ Database integration
- β³ Authentication system implementation
- β³ UI design implementation
- β³ Service history features
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is proprietary to EvMaster Workshop.