| docs | ||
| Knihovna@9398c1a6de | ||
| Normalizace | ||
| src | ||
| .gitignore | ||
| Database.cs | ||
| docker-compose.yaml | ||
| Dockerfile | ||
| Knihovna.csproj | ||
| Program.cs | ||
| README.md | ||
Knihovna
Struktura projektu
Projekt je organizován do několika klíčových částí:
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ý tým implementuje své funkce v samostatném souboru, abychom se vyhnuli git konfliktům
- 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 PascalCase, 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:
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).
Pokud nemate dotnet tak docker compose up -d a docker exec -it knihovna bash Tam mate prostredi s nainstalovanym dotnetem a vsemi dependencies
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/
Cheatsheet: https://ashababnoor.github.io/cheatsheets/cheatsheets/conventional-commits
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:
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
-
Přidat, upravit, vypsat, vymazat knihy
-
Filtrace knih podle autora atd...
-
Počet dostupných výtisků
- Přidat knihu
- Upravit knihu
- Vymazat knihu
- Vyhledávat podle konkrétního specifikovaného parametru
- Vyhledávat podle názvu, autora
- Filtrace podle autora, nakladatelství
- Filtrování na serveru
- Implementace uživatele a jeho výpůjček
- Kniha má maximálně 6/7 autorů
Práce
- Struktura databáze
- Informace z databáze zpracování
Funkce
- GetBooks() param. filter wrapper function, pick if by name or author
- GetBooksByAuthor() param. filter
- GetBooksByName() param. filter
- GetStolenBooks() param. filter
- GetAvailableBooks() param. filter
- GetBorrowedBooks() param. userID
- GetBookInfo() param. knihaID
- AddBook() param. KnihaInfo
- RemoveBook() param. knihaID
- EditBook() param. knihaID
- AddAuthor() param. AutorInfo
- EditAuthor() param. AutorID
- AddNakladatelstvi() param. NakladatelstviInfo
- EditNakladatelstvi() param. NakladatelstviID