114 lines
3.5 KiB
Markdown
114 lines
3.5 KiB
Markdown
# Vontor CZ
|
|
|
|
Welcome to **Vontor CZ**!
|
|
|
|
## frontend Folder Overview
|
|
|
|
The `frontend` folder contains all code and assets for the client-side React application. Its structure typically includes:
|
|
|
|
- **src/**
|
|
Tady se ukladají věci, které uživateli se nepředavají přímo spíš takové stavební kostky.
|
|
- **api/**
|
|
TypeScript/JS soubory které se starají o API a o JWT tokeny.
|
|
Čistě pracují s backendem
|
|
- **context/**
|
|
Kontext si načte data které mu předáš a můžeš si je předávat mezi komponenty rychleji.
|
|
- **hooks/**
|
|
Pracuje s API a formátují to do výstupu který potřebujeme.
|
|
|
|
- **components/**
|
|
Konktrétní komponenty které se vykreslují na stránce.
|
|
|
|
Už využívají už hooky a contexty pro vykreslení informaci bez složite logiky (ať je komponenta hezky čistá a né moc obsáhla).
|
|
|
|
- **features/**
|
|
Nejsou to celé stránky, ale hotové komponenty.
|
|
|
|
Obsahuje všechny komponenty plus její hooky, API, state a utils potřebné pro jednu konkrétní funkcionalitu aplikace. (použijí se jenom jednou)
|
|
|
|
Features zajišťují modularitu a přehlednost aplikace.
|
|
|
|
Příklad: komponenta košík, která zahrnuje API volání, state management a UI komponenty.
|
|
|
|
---
|
|
|
|
- **layouts/**
|
|
Tohle je jenom komponenta, která načte další komponenty, ale používá se jako layout kde jsou například navigace footer a ostatní se opakující prvky stránky, ale hlavní obsah ještě není součastí! Ten se načte skrz <outlet/> v pages.
|
|
- **pages/**
|
|
Tady se jde do finále tady se vkládají samostatné komponenty a tvoří se už hlavní obsah stránky a vkládají se komponenty a tvoří se logika mezi ně.
|
|
- **routes/**
|
|
tady se ukládají routy které například zabraňuji načtení stránky nepříhlášeným uživatelům nebo jenom pro ty s určitou roli/oprávněním... tyhle route komponenty se pak využívají v
|
|
|
|
---
|
|
|
|
- **assets/**
|
|
Obrázky, fonty, a ostatní statické soubory.
|
|
|
|
|
|
---
|
|
|
|
|
|
- **App.tsx**
|
|
Root komponenta pro aplikaci, kde se nastavují routy pro jednotlivé stránky.
|
|
Pozor nemyslím ty routy ze složky routes/ ... to jsou jenom obaly pro konktrétní routy pro jednotlivé stránky.
|
|
- **main.tsx**
|
|
Vstupní bod pro načítaní aplikace (načíta se první komponenta App.jsx)
|
|
|
|
---
|
|
|
|
- **utils/**
|
|
Sběrné místo pro pomocné funkce, které nejsou přímo komponenty nebo hooky, ale jsou znovupoužitelné napříč aplikací.
|
|
|
|
---
|
|
|
|
- **index.css**
|
|
globální styly
|
|
- **App.css**
|
|
obsahuje stylovaní layoutu, navigace, footer, error okna atd. takové věci které zůstavjí vždy stejně
|
|
|
|
- **public/**
|
|
Složka public obsahuje statické soubory dostupné přímo přes URL (např. index.html, favicon, obrázky), které React přímo nereenderuje ani neoptimalizuje.
|
|
|
|
- **package.json**
|
|
něco jak requirements.txt v pythonu
|
|
|
|
- **vite.config.js / vite.config.ts**
|
|
Vite konfigurace pro building a serving frontend aplikace.
|
|
|
|
- **Dockerfile**
|
|
Konfigurace pro Docker
|
|
|
|
## Getting Started :3
|
|
|
|
1. **Instalace balíčku (bere z package.json):**
|
|
```sh
|
|
npm install
|
|
```
|
|
|
|
3. **Start dev server:**
|
|
```sh
|
|
npm run dev
|
|
```
|
|
|
|
4. **Build pro produkci(finále):**
|
|
```sh
|
|
npm run build
|
|
```
|
|
|
|
5. **Preview production build:**
|
|
```sh
|
|
npm run preview
|
|
```
|
|
|
|
## Creating a New React Project with Vite
|
|
|
|
If you want to start a new project:
|
|
|
|
```sh
|
|
npm create vite@latest
|
|
# Choose 'react' or 'react-ts' for TypeScript
|
|
cd your-project
|
|
npm install
|
|
npm run dev
|
|
```
|