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.