Fixes #2: readme.md fájl létrehozása a projekt főkönyvtárában
- Átfogó README dokumentáció készítése - Projekt áttekintés, architektúra leírás - Telepítési és használati útmutató - Robot rendszer dokumentálása - API dokumentáció vázlat
This commit is contained in:
267
readme.md
Normal file
267
readme.md
Normal file
@@ -0,0 +1,267 @@
|
||||
# Service Finder Platform
|
||||
|
||||
## 📋 Overview
|
||||
Service Finder is a comprehensive vehicle service and fleet management platform that connects vehicle owners with service providers across Europe. The system combines real-time service discovery, historical data analytics, and automated workflow management.
|
||||
|
||||
## 🚀 Features
|
||||
|
||||
### Core Capabilities
|
||||
- **Vehicle Master Data Management** - Centralized catalog with European vehicle specifications
|
||||
- **Service Discovery Engine** - Automated search for service providers across multiple countries
|
||||
- **Fleet Management** - Complete TCO (Total Cost of Ownership) tracking and analytics
|
||||
- **Historical Data Integration** - Past service records and expense tracking with occurrence dates
|
||||
- **Multi-language Support** - Hungarian and English interfaces
|
||||
|
||||
### Technical Features
|
||||
- **Hybrid AI Gateway** - Local Ollama (14B Qwen) for text processing with Gemini/Groq fallback
|
||||
- **Dual Entity Model** - Separate Person (human) and User (technical account) entities
|
||||
- **Triple Wallet Economy** - Integrated financial system for transactions
|
||||
- **MDM Deduplication** - Smart merging based on make, technical_code, and cylinder capacity
|
||||
- **Real-time OCR Processing** - Automated document analysis for service receipts
|
||||
|
||||
## 🏗️ Architecture
|
||||
|
||||
### Tech Stack
|
||||
- **Backend**: FastAPI v2 (async), SQLAlchemy (Async), PostgreSQL with PostGIS
|
||||
- **Frontend**: Vue.js 3 with Vite, Tailwind CSS
|
||||
- **Database**: PostgreSQL 15+ with spatial extensions
|
||||
- **Message Queue**: Redis for background job processing
|
||||
- **Containerization**: Docker Compose V2
|
||||
- **Reverse Proxy**: Nginx Proxy Manager
|
||||
|
||||
### Database Schema
|
||||
The system uses a sophisticated schema with:
|
||||
- **Identity & Auth**: Dual entity model with JWT-based authentication
|
||||
- **Vehicle Catalog**: European vehicle definitions with RDW/DVLA integration
|
||||
- **Service Marketplace**: Provider listings with geospatial search
|
||||
- **Fleet Operations**: Asset tracking, maintenance scheduling, cost analysis
|
||||
- **Gamification**: User engagement system with badges and rewards
|
||||
|
||||
## 🤖 Robot Ecosystem
|
||||
|
||||
### Discovery Robots
|
||||
- **Robot-0-GB**: GB Discovery Engine - Processes UK MOT CSV data
|
||||
- **Robot-1-GB**: GB Hunter - Queries DVLA VES API for technical specifications
|
||||
- **Service Robots**: Automated service provider discovery and validation
|
||||
|
||||
### Processing Robots
|
||||
- **OCR Processor**: Extracts data from service receipts and documents
|
||||
- **Service Auditor**: Validates service provider information
|
||||
- **Research Bots**: Enrich vehicle and service data from external sources
|
||||
|
||||
## 📊 Data Sources
|
||||
|
||||
### Vehicle Data
|
||||
- **RDW API** (Netherlands) - Official Dutch vehicle registry
|
||||
- **DVLA VES API** (UK) - British vehicle technical specifications
|
||||
- **OpenStreetMap** - Service provider locations and details
|
||||
- **Google Places API** - Business information and reviews
|
||||
|
||||
### Service Data
|
||||
- **Historical Service Records** - Imported from user uploads
|
||||
- **Provider Directories** - Aggregated from multiple European sources
|
||||
- **Real-time Availability** - Dynamic scheduling integration
|
||||
|
||||
## 🔧 Installation & Setup
|
||||
|
||||
### Prerequisites
|
||||
- Docker and Docker Compose
|
||||
- PostgreSQL 15+
|
||||
- Python 3.11+
|
||||
- Redis 7+
|
||||
|
||||
### Quick Start
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone <repository-url>
|
||||
cd service_finder
|
||||
|
||||
# Copy environment configuration
|
||||
cp .env.example .env
|
||||
# Edit .env with your settings
|
||||
|
||||
# Start the services
|
||||
docker-compose up -d
|
||||
|
||||
# Run database migrations
|
||||
docker-compose exec api alembic upgrade head
|
||||
|
||||
# Seed initial data
|
||||
docker-compose exec api python -m app.scripts.seed_v1_9_system
|
||||
```
|
||||
|
||||
### Development Setup
|
||||
```bash
|
||||
# Backend development
|
||||
cd backend
|
||||
python -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Run tests
|
||||
pytest app/tests_internal/
|
||||
|
||||
# Start development server
|
||||
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||||
```
|
||||
|
||||
## 📁 Project Structure
|
||||
|
||||
```
|
||||
service_finder/
|
||||
├── backend/ # FastAPI application
|
||||
│ ├── app/
|
||||
│ │ ├── api/ # API endpoints
|
||||
│ │ ├── models/ # SQLAlchemy models
|
||||
│ │ ├── schemas/ # Pydantic schemas
|
||||
│ │ ├── services/ # Business logic
|
||||
│ │ ├── workers/ # Background robots
|
||||
│ │ └── tests_internal/ # Test suite
|
||||
│ ├── migrations/ # Alembic migrations
|
||||
│ └── requirements.txt
|
||||
├── frontend/ # Vue.js application
|
||||
│ ├── src/
|
||||
│ │ ├── components/ # Vue components
|
||||
│ │ ├── views/ # Page views
|
||||
│ │ └── router/ # Vue Router
|
||||
│ └── package.json
|
||||
├── docker-compose.yml # Service definitions
|
||||
└── readme.md # This file
|
||||
```
|
||||
|
||||
## 🔐 Authentication & Authorization
|
||||
|
||||
### User Roles
|
||||
- **Super Admin**: Full system access
|
||||
- **Organization Admin**: Manages fleet and users within organization
|
||||
- **Fleet Manager**: Views and manages vehicle assets
|
||||
- **Service Provider**: Manages service listings and appointments
|
||||
- **Vehicle Owner**: Basic user with personal vehicle management
|
||||
|
||||
### Security Features
|
||||
- JWT token-based authentication
|
||||
- Role-based access control (RBAC)
|
||||
- API rate limiting
|
||||
- Input validation and sanitization
|
||||
- SQL injection prevention
|
||||
- CORS configuration
|
||||
|
||||
## 📈 API Documentation
|
||||
|
||||
### Available Endpoints
|
||||
- **/api/v1/auth/** - Authentication and user management
|
||||
- **/api/v1/vehicles/** - Vehicle catalog and operations
|
||||
- **/api/v1/services/** - Service discovery and booking
|
||||
- **/api/v1/fleet/** - Fleet management endpoints
|
||||
- **/api/v1/admin/** - Administrative functions
|
||||
- **/api/v1/analytics/** - Data analysis and reporting
|
||||
|
||||
### API Versioning
|
||||
The API uses URL versioning (`/api/v1/`) with semantic versioning for breaking changes.
|
||||
|
||||
## 🧪 Testing
|
||||
|
||||
### Test Types
|
||||
- **Unit Tests**: Individual component testing
|
||||
- **Integration Tests**: API endpoint testing
|
||||
- **Database Tests**: Data persistence validation
|
||||
- **Robot Tests**: Background job verification
|
||||
|
||||
### Running Tests
|
||||
```bash
|
||||
# Run all tests
|
||||
docker-compose exec api pytest
|
||||
|
||||
# Run specific test category
|
||||
docker-compose exec api pytest app/tests_internal/ -v
|
||||
|
||||
# Generate coverage report
|
||||
docker-compose exec api pytest --cov=app --cov-report=html
|
||||
```
|
||||
|
||||
## 📊 Monitoring & Logging
|
||||
|
||||
### Logging Strategy
|
||||
- Structured JSON logging for all services
|
||||
- Centralized log aggregation
|
||||
- Error tracking and alerting
|
||||
- Performance metrics collection
|
||||
|
||||
### Health Checks
|
||||
- **/health**: Basic service health
|
||||
- **/health/db**: Database connectivity
|
||||
- **/health/redis**: Redis connection status
|
||||
- **/health/workers**: Background worker status
|
||||
|
||||
## 🔄 Deployment
|
||||
|
||||
### Production Considerations
|
||||
- Use environment-specific configuration
|
||||
- Enable HTTPS with valid certificates
|
||||
- Configure proper backup strategies
|
||||
- Set up monitoring and alerting
|
||||
- Implement CI/CD pipeline
|
||||
|
||||
### Scaling
|
||||
- Horizontal scaling of API instances
|
||||
- Database connection pooling
|
||||
- Redis clustering for session management
|
||||
- CDN for static assets
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
### Development Workflow
|
||||
1. Check the Kanban board for active tasks
|
||||
2. Create a feature branch from `main`
|
||||
3. Implement changes with tests
|
||||
4. Submit pull request for review
|
||||
5. Move Kanban card to "Done" after merge
|
||||
|
||||
### Code Standards
|
||||
- Follow PEP 8 for Python code
|
||||
- Use TypeScript for frontend components
|
||||
- Write comprehensive docstrings
|
||||
- Include unit tests for new features
|
||||
- Update documentation as needed
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
### Additional Resources
|
||||
- [Architecture Documentation](./docs/V02/02_Architecture.md)
|
||||
- [API Specifications](./docs/V02/07_API_Service.md)
|
||||
- [Database Schema](./docs/V02/06_Database_MDM.md)
|
||||
- [Robot Ecosystem](./docs/V02/22_Robot_Ecosystem.md)
|
||||
|
||||
### Wiki
|
||||
Comprehensive documentation is maintained in the project Wiki with:
|
||||
- Technical specifications
|
||||
- User guides
|
||||
- API references
|
||||
- Deployment guides
|
||||
|
||||
## 📞 Support
|
||||
|
||||
### Issue Reporting
|
||||
- Use the issue tracker for bugs and feature requests
|
||||
- Include detailed reproduction steps
|
||||
- Provide relevant logs and screenshots
|
||||
|
||||
### Community
|
||||
- Join the development discussions
|
||||
- Share feedback and suggestions
|
||||
- Contribute to documentation
|
||||
|
||||
## 📄 License
|
||||
|
||||
This project is proprietary software. All rights reserved.
|
||||
|
||||
## 🏆 Acknowledgments
|
||||
|
||||
- European vehicle data providers (RDW, DVLA)
|
||||
- OpenStreetMap community
|
||||
- FastAPI and Vue.js communities
|
||||
- All contributors and testers
|
||||
|
||||
---
|
||||
|
||||
*Last Updated: March 2026*
|
||||
Reference in New Issue
Block a user