A comprehensive marketplace connecting vehicle owners with service providers for repairs, towing, and customization services. Built with modern technologies including FastAPI, Next.js, PostgreSQL, and Celery.
- Features
- Architecture
- Tech Stack
- Quick Start
- Development
- API Documentation
- Testing
- Deployment
- Contributing
- π Submit repair, towing, or customization jobs
- πΈ AI-powered photo analysis for damage assessment
- π° Compare competitive bids side-by-side
- πΊοΈ Interactive maps for towing services with cost overlays
- π Secure invoice management with LaTeX generation
- π¬ Real-time notifications and chat support
- β Rate and review completed services
- π’ Business profile management with coverage areas
- πΌ Competitive bidding on jobs in your area
- π Dashboard for active bids and won jobs
- π§Ύ LLM-powered invoice creation with chat interface
- π΅ Per-mile and per-hour pricing for towing
- π Performance metrics and review tracking
- π Real-time job notifications
- π₯ User and provider verification
- π Analytics and reporting dashboard
- π‘οΈ Content moderation tools
- π³ Commission management
- π¨ Platform branding customization
- π Configurable LaTeX invoice templates
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Next.js UI ββββββΆβ FastAPI Backend ββββββΆβ PostgreSQL DB β
β (Frontend) β β (API) β β with PostGIS β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β Celery β
β (Task Queue) β
βββββββββββββββββββ
β
ββββββββββββ΄βββββββββββ
βΌ βΌ
βββββββββββββββ βββββββββββββββ
β Redis β β Flower β
β (Broker) β β (Monitoring)β
βββββββββββββββ βββββββββββββββ
- FastAPI (v0.115.0) - High-performance Python web framework
- SQLAlchemy (v2.0) - SQL toolkit and ORM
- Celery (v5.4.0) - Distributed task queue
- Redis - Message broker and cache
- PostgreSQL with PostGIS - Primary database
- JWT - Authentication and authorization
- Flower - Celery monitoring
- Next.js (v14.2.0) - React framework with SSR/SSG
- TypeScript - Type safety
- Tailwind CSS (v3.4.0) - Utility-first CSS
- shadcn/ui - Modern UI components
- React Hook Form - Form handling
- Mapbox GL JS - Interactive maps
- Zustand - State management
- Docker - Containerization with multi-stage builds
- Docker Compose - Service orchestration
- Nginx - Reverse proxy (production)
- Prometheus & Grafana - Monitoring (optional)
- Docker and Docker Compose
- Make (for using Makefile commands)
- Git
- Clone the repository
git clone https://github.com/yourusername/openautocenter.git
cd openautocenter- Set up environment variables
cp .env.template .env
# Edit .env with your configuration- Start the development environment
make dev- Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/api/docs
- Flower (Celery): http://localhost:5555
# Development
make dev # Start development environment
make stop # Stop all services
make restart # Restart all services
make clean # Remove containers and volumes
make logs # View service logs
# Database
make db-migrate # Run database migrations
make db-reset # Reset database
make db-seed # Seed sample data
make db-backup # Create database backup
# Testing
make test # Run all tests
make test-backend # Run backend tests
make test-frontend # Run frontend tests
make lint # Run linters
make format # Format code
# Monitoring
make flower # Open Celery monitoring
make monitoring # Start Prometheus + Grafana
make health # Check service healthopenautocenter/
βββ backend/ # FastAPI application
β βββ app/
β β βββ routers/ # API endpoints
β β βββ services/ # Business logic
β β βββ models/ # Database models
β β βββ schemas/ # Pydantic schemas
β β βββ tasks/ # Celery tasks
β βββ tests/ # Backend tests
βββ frontend/ # Next.js application
β βββ app/ # Pages and layouts
β βββ components/ # React components
β βββ lib/ # Utilities
βββ docker/ # Docker configurations
βββ database/ # Database schemas
βββ docs/ # Documentation
- Swagger UI: http://localhost:8000/api/docs
- ReDoc: http://localhost:8000/api/redoc
POST /api/v1/auth/register- Register new userPOST /api/v1/auth/login- Login userPOST /api/v1/auth/refresh- Refresh token
POST /api/v1/jobs- Create new jobGET /api/v1/jobs- List jobsGET /api/v1/jobs/{id}- Get job detailsPOST /api/v1/jobs/{id}/select-bid/{bid_id}- Select winning bid
POST /api/v1/bids- Submit bidGET /api/v1/bids?job_id={id}- List bids for jobPUT /api/v1/bids/{id}- Update bid
POST /api/v1/invoices- Create invoiceGET /api/v1/invoices/{id}- Get invoicePOST /api/v1/invoices/{id}/chat- LLM chat for invoice editingGET /api/v1/invoices/{id}/pdf- Download PDF
GET /api/v1/maps/providers- Get providers for mapPOST /api/v1/maps/trip-details- Submit trip detailsGET /api/v1/maps/costs- Get route costs
# All tests
make test
# Backend tests with coverage
make test-backend
# Frontend tests
make test-frontend
# Integration tests
make test-integration- Backend: Unit tests for services, integration tests for API
- Frontend: Component tests, E2E tests with Cypress
- Load testing: Using Locust for performance validation
- Configure environment
cp .env.template .env.production
# Set production values- Build and deploy
make deploy- Multi-stage builds for optimized image sizes
- Separate images for backend, frontend, and Celery workers
- Health checks configured for all services
# Scale specific service
make scale service=celery-worker-high replicas=3Access at http://localhost:5555
- Real-time task monitoring
- Worker status and performance
- Task history and results
make monitoring- Prometheus: http://localhost:9090
- Grafana: http://localhost:3001
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI for the excellent Python framework
- Next.js for the React framework
- shadcn/ui for beautiful UI components
- Mapbox for mapping services
For support, please open an issue in the GitHub repository or contact the development team.
Built with β€οΈ for the automotive service industry