StationsCarburants - Automotive Price Comparison Platform
Overview
StationsCarburants is a comprehensive web platform developed with Django that allows French motorists to compare fuel prices, locate service stations, find vehicle inspection centers, locate electric charging stations, and discover carpooling areas. The site also includes a road radar information system and a technical blog.
Technical Architecture
Backend
- Main Framework: Django with MVT (Model-View-Template) architecture
- Database: PostgreSQL in production, SQLite in development
- Cache: Redis for performance optimization
- Asynchronous tasks: Celery with Redis as a broker
- REST API: Django REST Framework for API endpoints
- Storage: MinIO for static and media files
Frontend
- CSS Framework: Tailwind CSS for responsive design
- JavaScript: HTMX for dynamic interactions
- Interactive Maps: Integrated maps for geolocation
- User Interface: Modern design with reusable components
Main Modules
1. Service Stations Module
- Features: Real-time price comparison, geolocated search, filters by fuel type
- Data: Prices updated every 3 hours via Celery tasks
- Fuel Types: SP95, SP98, E10, E85, LPG, Diesel
- Advanced Features: Price history, regional statistics, brand comparison
2. Vehicle Inspection Module
- Features: Location of inspection centers, price comparison
- Data: Automatic import from government datasets
- Geolocation: Precise GPS coordinates for each center
3. Electric Charging Stations Module
- Features: Location of charging stations, filters by plug type
- Data: Import from the official government API for electric stations
- Plug Types: Type 2, CHAdeMO, Combo CCS, Type EF
- Detailed Information: Power, pricing, accessibility for persons with reduced mobility
4. Carpooling Module
- Features: Location of carpool areas, capacity information
- Data: Import from official government sources
- Filters: By region, department, type of area
5. Radar Module
- Features: Information on various types of road radars
- Covered Types: ETF, ETD, ETT, ETU, ETVM, ETFR, ETPN
- Content: Technical specifications, operation, statistics
6. Blog Module
- Features: Technical articles, comment system
- Content Management: Django admin interface
- SEO: Search engine optimization
Automated Task System
Scheduled Celery Tasks
- Price Updates: Every 3 hours
- Data Imports: Electric stations (weekly), carpooling (weekly)
- Geolocation: Automatic coordinate updates
- Statistics: Daily summary generation
- Social Media: Automatic posting to Twitter, Bluesky, Facebook
Advanced Technical Features
Geolocation and Mapping
- Reverse Geocoding: Using Nominatim to enrich data
- Interactive Maps: Real-time visualization of points of interest
- Geolocated Search: Find the nearest services
Performance and Optimization
- Redis Cache: Caching of frequent queries
- Indexing: Optimized indexes on geographic coordinates
- Compression: WhiteNoise for static file compression
- CDN: MinIO for content distribution
Security and Compliance
- HTTPS: Automatic redirection in production
- HSTS: Enhanced security headers
- GDPR: Compliance with data protection regulations
- Analytics: Umami for anonymized statistics
Deployment and Infrastructure
- Containerization: Docker with docker-compose
- Web Server: Gunicorn with optimized configuration
- Database: PostgreSQL in production
- Monitoring: Structured logs with colorlog
- Environments: Development, Docker, Production
External Integrations
- Government APIs: Automatic import of official datasets
- Social Media: Automatic publishing to Twitter, Bluesky, Facebook
- Geolocation: Nominatim for data enrichment
- Storage: MinIO for files and media
Notable Technical Highlights
- Modular Architecture: Clear separation of concerns via Django apps
- Asynchronous Processing: Efficient handling of heavy tasks with Celery
- Data Management: Automatic import and update of government data
- User Interface: Modern and responsive design with Tailwind CSS
- Performance: Multiple optimizations for fast response times
- Scalability: Architecture ready for high traffic and scaling
This project demonstrates full mastery of modern web development, complex data management, process automation, and the creation of an intuitive user platform for a specialized domain.