Desktop application for configuring LADA vehicles with real-time price calculation, dealer map integration, and secondary market analog search.
- Multi-step Selection Process: Brand → Model → Body → Complectation → Engine → Options → Color
- Real-time Price Calculation: Automatic total price updates with formatted display (1 000 000 ₽)
- Visual Preview: High-quality images for each configuration option with scaling optimization
- Automatic Data Updates: Parses official LADA API to fetch current models, prices, and specifications
- SQLite Storage: 5 normalized tables (MODEL, BODY, COMPLECTATION, EQUIPMENT, COLOR)
- Unicode Normalization: Proper handling of Cyrillic characters in file paths and database entries
- Dealer Map: Yandex Maps integration with city-based dealer search
- Analog Search: Opens Auto.ru with pre-configured filters (price range ±30%, body type, engine displacement)
- Export Configuration: Save final configuration to .txt file
git clone https://github.com/yourusername/TrueConf.git
cd TrueConfWindows/Linux/Mac
python -m venv venvvenv\Scripts\activate # Windowssource venv/bin/activate # Linux/MacAnaconda
conda create --name Lada
source activate Lada
pip install -r requirements.txtpython DBUPDATE.pyThis downloads current LADA data (~50-100 MB of images) and creates lada.db.
python Trueconf.py- Select Brand: Choose LADA from the main menu

- Select Model: Granta, Vesta, Largus, Niva, XRAY, Aura, Priora

- Select Body: Sedan, Hatchback, Universal, SUV, etc.
- Select Complectation: Standard, Standard Plus, Classic, Comfort, Luxe

- Select Engine: View available engine options with prices
- Select Options: Add optional equipment (checkboxes with visual confirmation ✅)
- Select Color: Choose from available colors with price differences

- Review: View total price with breakdown by category
| Feature | Access | Description |
|---|---|---|
| Dealer Map | Button "Карта дилеров" | Search LADA dealers by city on Yandex Maps |
| Analog Search | Button "🔍 Поиск аналогов" | Opens Auto.ru with pre-filtered search (±30% price, same body/engine) |
| Save Configuration | Button "Сохранить" | Export configuration to .txt file |
| Database Update | Settings → Update | Refresh data from LADA API (30 min cooldown) |
Enterin city search → Find dealersEsc→ Return to previous window (where applicable)
| Module | Classes |
|---|---|
Trueconf.py |
Main_window (entry point), Model/Body/Complectation/Engine/Options/Color (config steps), In_total (summary), Dealers_map (Yandex Maps), AnalogSearch (Auto.ru search), Settings/Load (DB update) |
DBUPDATE.py |
Parsing (base parser), ParsingLada (LADA API parser), UpdateDB (SQLite creator) |
lada-configurator/
├── Trueconf.py # Main application
├── DBUPDATE.py # Database parser and updater
├── lada.db # SQLite database (generated)
├── lada/ # Images directory (generated)
│ └── pictures/
│ ├── models/
│ ├── bodies/
│ ├── complectations/
│ ├── engines/
│ ├── options/
│ └── colors/
├── ui/ # Qt Designer .ui files
│ ├── mainmm.ui
│ ├── window.ui
│ ├── fwindow.ui
│ ├── settings.ui
│ └── load.ui
├── setup.py # cx_Freeze build configuration
├── requirements.txt # Python dependencies
└── README.md # This file
python setup.py buildbuild\exe.win-amd64-3.11\Trueconf.exe| Parameter | Default | Description |
|---|---|---|
proxy |
False |
HTTP/HTTPS proxy for API requests |
use_headers |
True |
Include User-Agent and Referer headers |
timeout |
10-20s |
Request timeout per API call |
retry |
3 |
Retry attempts on failure |
cooldown |
30 min |
Minimum time between updates |
| Issue | Solution |
|---|---|
| Database not found | Run python DBUPDATE.py to initialize |
| API request fails | Enable proxy in Settings, check internet connection |
| Map not loading | Verify Yandex Maps API key, check internet connection |
| Auto.ru blocked | Click "Открыть в браузере" to open in system browser |
| Update cooldown | Wait 30 minutes or delete timeup variable in DB |
This is a production application for LADA dealers and customers. Suggestions and improvements are welcome.
- Python 3.10+
- PEP 8 style guide
- Cyrillic comments allowed (UTF-8 encoding)
- PyQt5 signal/slot architecture
- Telegram: @Lil_soupchik
- Issues: GitHub Issues tab
- Documentation: Inline code comments (Russian)
This project is open-source and available under the MIT License.