A comprehensive automotive garage management system built with modern technologies.
- Node.js + Express - RESTful API
- TypeScript - Type-safe development
- MongoDB - Database
- Clean Architecture - Separation of concerns with controllers, services, and repositories
- JWT Authentication - Secure user authentication
- Joi - DTO validation
- Next.js 14 - React framework
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS
- ShadCN UI - High-quality UI components
- Zustand - State management
- Axios - HTTP client
ghs3/
├── backend/
│ ├── src/
│ │ ├── domain/ # Domain entities
│ │ ├── application/ # Business logic (services, DTOs)
│ │ ├── infrastructure/ # Data access (models, repositories)
│ │ ├── presentation/ # HTTP layer (controllers, routes, middleware)
│ │ ├── database/ # Database seeders
│ │ └── server.ts # Entry point
│ ├── package.json
│ └── tsconfig.json
├── frontend/
│ ├── src/
│ │ ├── app/ # Next.js app router
│ │ ├── components/ # React components
│ │ ├── lib/ # Utilities
│ │ └── store/ # State management
│ ├── package.json
│ └── tsconfig.json
└── README.md
- Node.js 18+ installed
- MongoDB Atlas account (connection string provided)
cd backend
npm install
npm run seed # Seed database with sample data
npm run dev # Start development serverThe backend will run on http://localhost:5000
cd frontend
npm install
npm run dev # Start development serverThe frontend will run on http://localhost:3000
After seeding the database, use these credentials:
- Owner: admin@garage.com / admin123
- Manager: manager@garage.com / manager123
- Mechanic: mechanic@garage.com / mechanic123
- Receptionist: receptionist@garage.com / receptionist123
- Real-time garage statistics
- Revenue tracking (daily, weekly, monthly)
- Workload distribution visualization
- Active mechanics overview
- Visual workflow stages
- Live car tracking
- Progress indicators
- Mechanic assignments
- Colour & Repair - Painting, accident repair, bodywork
- Clean & Shine - Detailing, buffing, cleaning
- Coat & Guard - PPF, ceramic coating, tinting
- Customer Management
- Invoice & Payment Tracking
- Inventory Management
- Mechanic Performance Tracking
- Online Booking System
- Controllers: HTTP request/response handling only
- Services: Business logic implementation
- Repositories: Database interaction abstraction
- DTOs: Input validation with Joi schemas
- Middleware: Centralized error handling & authentication
- Apple-inspired clean UI
- Minimal, functional design
- No glassmorphism or excessive gradients
- Custom spacing (avoiding Tailwind defaults)
- Accessible, semantic components
POST /api/auth/login- User loginPOST /api/auth/register- User registrationGET /api/auth/profile- Get user profile
GET /api/cars- List all cars (with filters)POST /api/cars- Add new carGET /api/cars/:id- Get car detailsPUT /api/cars/:id- Update carGET /api/cars/dashboard- Dashboard statisticsGET /api/cars/garage-board- Garage board data
GET /api/invoices- List invoicesPOST /api/invoices- Create invoicePOST /api/invoices/:id/payment- Add paymentGET /api/invoices/revenue-stats- Revenue statistics
- Owner: Full system access
- Manager: Operations + reports
- Mechanic: View/update assigned jobs only
- Receptionist: Bookings, customers, payments
Key collections:
- Users
- Mechanics
- Customers
- Cars
- Services
- Inventory
- Invoices
- Bookings
✅ Completed:
- Backend API with clean architecture
- MongoDB database design & seeding
- Authentication & authorization
- Dashboard UI
- Garage board UI
- Cars listing UI
- Core navigation
🔨 In Progress:
- Customer management
- Invoice management
- Inventory tracking
- Booking system
See LICENSE file
Built with modern best practices:
- TypeScript for type safety
- ESLint for code quality
- RESTful API design
- Responsive UI design
- Secure authentication
- Clean code principles