Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 93522063

Přidáno uživatelem Lukáš Vlček před asi 2 roky(ů)

Backend README.md updated

Zobrazit rozdíly:

Backend/README.md
1 1
# Backend
2 2

  
3
Backend je implementován v ASP.NET. Jako databáze se používá PostgreSQL.
3
Backend je implementován v ASP.NET (.NET 6). Pro perzistentní ukládání dat je použit ORM framework <code>Entity Framework</code>. Ve výchozím nastavení se používá databáze PostgreSQL.
4
Případná změna použitého databázového serveru by znamenala instalaci patřičného NuGet balíčku pro EntityFramework, upravení připojovacího scriptu a vygenerování nového migrace.
4 5

  
5 6
## RestAPI
6 7

  
7
Projekt RestAPI obsahuje <code>Program.cs</code> a kontrolery pro endpointy. Zároveň obsahuje middleware pro JWT a globální error-handling.
8
Projekt RestAPI se stará o obsluhu REST API. Obsahuje <code>Program.cs</code>, ve kterém jsou definovány DI a globální nastavení (např. validace JWT).
9
O zpracování žádosti (HTTP Request) se starají kontrolery (ve složce <code>Controllers</code>), ve kterých se pro větší přehlednost používá fixní mapování cest.
10
V RestAPI se také nachází Middleware pro Error handling (automatický překlad vyhozených výjimek na patřičný HTTP Status code) a JWT Middleware (zajišťuje validaci zaslané autentizace a přidání informací o přihlášeném uživateli do HttpContextu pro další zpracování)
8 11

  
9 12
## Models
10 13

  
......
12 15

  
13 16
## Core
14 17

  
15
Projekt Core obsahuje služby (<code>Services</code>), ve kterých je implementována podstatná funkcionalita. Zároveň obsahuje definici databáze (<code>Contexts</code>, <code>Entities</code>). 
16
Pro mapování entit na DTO lze využít AutoMapper (<code>MapperProfiles</code>) - ušetří to dost práce a je to celkem chytrý.
18
Projekt Core obsahuje služby (<code>Services</code>), ve kterých je implementována veškerá podstatná funkcionalita. Zároveň obsahuje definici databáze (<code>Contexts</code>, <code>Entities</code>). 
19
Pro mapování entit na DTO lze využít AutoMapper (<code>MapperProfiles</code>), který ušetří programátorům spoustu rutinní práce.
20

  
21

  
22
# Nastavení
23
Klíčová nastavení projektu projektu se nacházejí v souboru <code>appsettings.json</code>.
24
Je připravena verze pro ostré nasazení - <code>appsettings.json</code> a verze pro vývoj - <code>appsettings.Development.json</code>.
25

  
26
Rozdíl mezi těmito verzemi je v ConnectionString, tedy řetězci pro připojení do databáze.
27
Očekává se, že ConnectionString bude v produkční verzi přidán do ENV.

Také k dispozici: Unified diff