132 lines
3.4 KiB
Markdown
132 lines
3.4 KiB
Markdown
# Poznámky k projektu - Evidence Autobazaru
|
|
|
|
## Splnění zadání
|
|
|
|
### ? Základní požadavky
|
|
- [x] WPF aplikace
|
|
- [x] Evidence autobazaru
|
|
- [x] Serializace a deserializace (JSON)
|
|
- [x] CRUD operace (Create, Read, Update, Delete)
|
|
- [x] Čistý a organizovaný kód
|
|
- [x] Separation of Concerns (SoC)
|
|
|
|
### ? Model Auto (Vehicle)
|
|
- [x] Značka
|
|
- [x] Model
|
|
- [x] SPZ
|
|
- [x] Rok výroby
|
|
- [x] Palivo (Benzín, Nafta, Elektro, Hybrid, LPG, CNG)
|
|
- [x] Nájezd v km
|
|
- [x] Barva (s color pickerem)
|
|
- [x] Fotografie (Base64)
|
|
- [x] Cena
|
|
|
|
### ? Model Vlastník (Owner)
|
|
- [x] Jméno
|
|
- [x] Příjmení
|
|
- [x] Adresa
|
|
- [x] Telefon
|
|
- [x] Email
|
|
- [x] Propojení s autem
|
|
|
|
### ? GUI Features
|
|
- [x] Hlavní okno se seznamem vozidel
|
|
- [x] Zobrazení základních údajů (SPZ, značka+model, barva, rok, palivo)
|
|
- [x] Detail vozidla po kliknutí (double-click nebo tlačítko)
|
|
- [x] Okno pro přidání vozidla
|
|
- [x] Okno pro úpravu vozidla
|
|
- [x] Okno s detaily vozidla
|
|
- [x] Výběr barvy pomocí Color Dialogu
|
|
- [x] 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`:
|
|
1. Přejmenujte `vehicles.example.json` na `vehicles.json`
|
|
2. Spusťte aplikaci
|
|
3. 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
|