Files
Petr_PTA25_Proj_02-10/NOTES.md
2026-02-17 15:33:05 +01:00

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
  • Email
  • 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:

  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