diff --git a/README.md b/README.md index 4580885..26750bd 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,103 @@ # Knihovna -## Jak přidávat vaši práci +## Struktura projektu -- Vaše práce bude ve složce ./src a každá funkce bude implementována právě v jednom souboru. -- Definice samotných tabulek je v souboru Database.cs -- V souboru Program.cs je výsledek a výstup z celého projektu použitý +Projekt je organizován do několika klíčových částí: -- `git clone https://gitea.homework.zip/shinya/Knihovna.git` - Zkopírujte si projekt lokálně -- Vytvořte změny v projektu a následně je commitněte a pushněte zpět na server do podle instrukcí výše. -- Samotné zadání projektu pro jednotlivé týmy bude v adresáři ./docs kde se bude nacházet konkrétní specifikace projektu pro jednotlivé týmy +```shell +Knihovna/ +│ +├── src/ # Zdrojové soubory – zde bude vaše implementace +│ ├── Funkce1.cs +│ ├── Funkce2.cs +│ └── ... +│ +├── Database.cs # Definice databázových tabulek a datových modelů +│ +├── Program.cs # Hlavní vstupní bod programu (spuštění aplikace) +│ +└── docs/ # Dokumentace a zadání pro jednotlivé týmy +├── TymA.md +├── TymB.md +└── ... +``` + +--- + +## Popis hlavních souborů + +### `./src/` + +- Každá **funkce** nebo **část logiky** musí být implementována **v samostatném souboru**. +- Například funkci pro vyhledávání knih uložte do souboru `VyhledavaniKnih.cs`. +- Tento přístup zajišťuje přehlednost, modularitu a snadné testování. + +> [!IMPORTANT] +> Všechny proměnné se pojmenovávají v angličtině ve stylu CamelCase, to stejné platí pro názvy souborů. + +### `Database.cs` + +- Obsahuje **definici tabulek** a **datových struktur**, které reprezentují databázi (např. `Knihy`, `Ctenari`, `Vypujcky`). +- Není vhodné měnit strukturu bez předchozí domluvy s ostatními členy týmu, protože soubor je sdílený v rámci celého projektu. + +### `Program.cs` + +- Slouží jako **hlavní vstupní bod** aplikace. +- Zde se spouští program, načítají data a volají funkce z adresáře `src`. +- Tento soubor zajišťuje propojení všech částí projektu. + +--- + +## Postup při přidávání vaší práce + +### Klonování repozitáře + +Stáhněte si projekt lokálně pomocí GITu: + +```bash +git clone https://gitea.homework.zip/shinya/Knihovna.git +``` + +Tímto příkazem vytvoříte lokální kopii projektu na vašem počítači. + +## Úpravy a implementace + +Vytvořte nebo upravte soubory v adresáři ./src/. + +Dodržujte strukturu projektu a konvence psaní kódu. + +Průběžně testujte své změny (např. pomocí dotnet run). + +## Commit a push + +Jakmile máte změny hotové, proveďte následující příkazy: +Dodržujte conventional commits: +https://www.conventionalcommits.org/en/v1.0.0/ + +```bash +git add . +git commit -m "feat: funkce vyhledávání knih" +git push +``` + +Tímto nahrajete změny zpět na server. + +Pozor: Před odesláním změn vždy nejprve stáhněte aktuální verzi projektu: + +```bash +git pull +``` + +- a vyřešte případné konflikty, pokud se vyskytnou. + +## Zadání projektů + +V adresáři ./docs se nachází zadání pro jednotlivé týmy. +Každý tým má svůj vlastní soubor (např. TymA.md, TymB.md), který obsahuje: + +- konkrétní popis úkolu, +- technické požadavky, +- a případně hodnoticí kritéria. ## Info @@ -32,15 +121,15 @@ 1. Struktura databáze 2. Informace z databáze zpracování -3. +3. ## Funkce - GetBooks() param. filter wrapper function, pick if by name or author - - GetBooksByAuthor() param. filter - - GetBooksByName() param. filter - - GetStolenBooks() param. filter - - GetAvailableBooks() param. filter + - GetBooksByAuthor() param. filter + - GetBooksByName() param. filter + - GetStolenBooks() param. filter + - GetAvailableBooks() param. filter - GetBorrowedBooks() param. userID - GetBookInfo() param. knihaID - AddBook() param. KnihaInfo