3.4 KiB
3.4 KiB
Poznámky k projektu - Evidence Autobazaru
Splnění zadání
? Základní požadavky
- WPF aplikace
- Evidence autobazaru
- Serializace a deserializace (JSON)
- CRUD operace (Create, Read, Update, Delete)
- Čistý a organizovaný kód
- Separation of Concerns (SoC)
? Model Auto (Vehicle)
- Značka
- Model
- SPZ
- Rok výroby
- Palivo (Benzín, Nafta, Elektro, Hybrid, LPG, CNG)
- Nájezd v km
- Barva (s color pickerem)
- Fotografie (Base64)
- Cena
? Model Vlastník (Owner)
- Jméno
- Příjmení
- Adresa
- Telefon
- Propojení s autem
? GUI Features
- Hlavní okno se seznamem vozidel
- Zobrazení základních údajů (SPZ, značka+model, barva, rok, palivo)
- Detail vozidla po kliknutí (double-click nebo tlačítko)
- Okno pro přidání vozidla
- Okno pro úpravu vozidla
- Okno s detaily vozidla
- Výběr barvy pomocí Color Dialogu
- Výběr fotografie
Technická implementace
Serializace
- Použit System.Text.Json pro JSON serializaci
- Data uložena v souboru
vehicles.json - Automatické načtení při startu aplikace
- Automatické ukládání po každé změně
Validace
- Číselné vstupy (rok, km, cena) - validace pomocí
PreviewTextInput - SPZ - automatický převod na velká písmena
- Obrázky - ošetření chyb při načítání/ukládání
Separation of Concerns
??? Models
? ??? Vehicle.cs # Datový model vozidla
? ??? Owner.cs # Datový model vlastníka
??? Data
? ??? DataManager.cs # Správa dat, serializace
??? Views
??? MainWindow.xaml/.cs # Hlavní okno
??? AddVehicleWindow.xaml/.cs # Přidání vozidla
??? EditVehicleWindow.xaml/.cs # Úprava vozidla
??? VehicleDetailWindow.xaml/.cs # Detail vozidla
Použité technologie
- .NET 8.0
- WPF (Windows Presentation Foundation)
- System.Text.Json (JSON serializace)
- Windows Forms ColorDialog (výběr barvy)
- XAML pro UI design
Budoucí vylepšení (pro rozšíření)
- Filtrování a vyhledávání vozidel
- Řazení podle různých sloupců
- Export do PDF/Excel
- Více obrázků na vozidlo
- Historie změn vozidla
- Statistiky (průměrná cena, nejstarší/nejnovější vozidlo, atd.)
- Validace emailu a telefonního čísla
- Podpora pro více autobazarů
- Cloudová synchronizace dat
Známé limitace
- Fotografie je uložena jako Base64 přímo v JSON (může způsobit velké soubory)
- Validace vstupů je pouze na UI úrovni
- Žádná autentizace/autorizace -?uživatelská aplikace (bez databáze)
Testování
Pro testování aplikace použijte ukázkový soubor vehicles.example.json:
- Přejmenujte
vehicles.example.jsonnavehicles.json - Spusťte aplikaci
- Data se automaticky načtou
Klasifikační kritéria
GUI (User Interface)
- ? Přehledné a intuitivní rozhraní
- ? Responsivní design
- ? Správné použití WPF kontrol
- ? Color picker pro výběr barvy
- ? Náhled fotografií
Čistota kódu
- ? Jasné pojmenování
- ? Oddělené třídy pro různé účely
- ? Try-catch bloky pro ošetření chyb
- ? Komentáře kde je to vhodné
- ? Konzistentní styl kódu
Funkčnost
- ? Všechny CRUD operace fungují
- ? Serializace a deserializace funguje
- ? Validace vstupů
- ? Ošetření chyb
- ? Aplikace nepadá
Separation of Concerns
- ? Model (Vehicle, Owner)
- ? Data Logic (DataManager)
- ? View (XAML)
- ? View Logic (Code-behind)
Autorství
- Autor: Petr (23ib22_petr)
- Předmět: PTA25 - Programování v C#
- Termín odevzdání: 1. 3. 2026