Kompletní fullstack aplikace postavená na React + TypeScript frontendu s Redux Toolkit, Node.js + Express backend s PostgreSQL databází, vše kontejnerizované pomocí Docker.
- React 18 s TypeScript
- Redux Toolkit pro state management
- Material-UI (MUI) pro komponenty a design
- React Router pro navigaci
- Axios pro HTTP požadavky
- Node.js s Express
- TypeScript
- Sequelize ORM s PostgreSQL
- Swagger dokumentace API
- Validace pomocí express-validator
- Docker & Docker Compose
- PostgreSQL databáze
- VS Code debugging konfigurace
├── frontend/ # React TypeScript aplikace
│ ├── src/
│ │ ├── components/ # React komponenty
│ │ ├── store/ # Redux store a slices
│ │ ├── services/ # API služby (Axios)
│ │ └── types/ # TypeScript typy
│ ├── Dockerfile
│ └── package.json
├── backend/ # Node.js Express API
│ ├── src/
│ │ ├── controllers/ # Route controllers
│ │ ├── models/ # Sequelize modely
│ │ ├── routes/ # API routes
│ │ ├── middleware/ # Express middleware
│ │ └── config/ # Konfigurace databáze
│ ├── Dockerfile
│ └── package.json
├── database/
│ └── init.sql # Inicializační SQL skripty
├── .vscode/ # VS Code konfigurace
│ ├── launch.json # Debug konfigurace
│ └── tasks.json # Úkoly pro VS Code
└── docker-compose.yml # Docker orchestrace
- Docker a Docker Compose
- Node.js 18+ (pro lokální development)
- VS Code (doporučeno)
# Klonování a přechod do projektového adresáře
git clone <repository-url>
cd fullstack-typescript-app
# Spuštění všech služeb
docker-compose up -d
# Sledování logů
docker-compose logs -fAplikace budou dostupné na:
- Frontend: http://localhost:3300
- Backend API: http://localhost:4444
- PostgreSQL: localhost:5432
# Instalace závislostí
npm run install:all # nebo ručně ve frontend/ a backend/
# Spuštění PostgreSQL
docker-compose up postgres -d
# Spuštění backend (v novém terminálu)
cd backend
npm run dev
# Spuštění frontend (v novém terminálu)
cd frontend
npm startProjekt obsahuje připravené debug konfigurace pro VS Code:
- Debug Backend in Docker - Připojení k backend kontejneru
- Debug Frontend in Docker - Debug React aplikace
- Debug Backend Local - Lokální debug backend
- Debug Full Stack - Kombinace frontend + backend
-
Spusťte Docker služby:
docker-compose up -d
-
Ve VS Code:
- Otevřete panel Debug (Ctrl+Shift+D)
- Vyberte konfiguraci (např. "Debug Full Stack")
- Stiskněte F5 pro spuštění
-
Nastavte breakpointy ve svém kódu
-
Aplikace se zastaví na breakpointech
Pro debug backend v Docker kontejneru je potřeba upravit docker-compose.yml:
backend:
# ... ostatní konfigurace
ports:
- "4444:4444"
- "9229:9229" # Debug port
command: npm run dev:debugA přidat do backend/package.json:
{
"scripts": {
"dev:debug": "nodemon --inspect=0.0.0.0:9229 src/server.ts"
}
}Backend poskytuje Swagger dokumentaci dostupnou na:
GET /api/health- Health checkGET /api/users- Získání seznamu uživatelů (s paginací, vyhledáváním)POST /api/users- Vytvoření nového uživateleGET /api/users/:id- Získání uživatele podle IDPUT /api/users/:id- Aktualizace uživateleDELETE /api/users/:id- Smazání uživatele
- HomePage - Hlavní stránka s přehledem
- DataTable - Pokročilá tabulka s funkcemi:
- Vyhledávání
- Řazení
- Paginace
- CRUD operace
- Filtrování
- userSlice - Správa uživatelských dat
- dataSlice - Správa stavu tabulky (filtry, řazení, paginace)
- User - Uživatelský model s poli:
- id, name, email, phone, company, role, status
- Automatické timestamps (createdAt, updatedAt)
Databáze se automaticky inicializuje s ukázkovými daty při prvním spuštění.
# Docker příkazy
docker-compose up -d # Spustit všechny služby
docker-compose down # Zastavit všechny služby
docker-compose logs -f backend # Sledovat logy backend
docker-compose restart frontend # Restartovat frontend
# Databáze příkazy
docker-compose exec postgres psql -U postgres -d fullstack_db
docker-compose exec postgres pg_dump -U postgres fullstack_db > backup.sql
# Development příkazy
npm run build # Build projekt
npm run test # Spustit testy
npm run lint # Kontrola kódu- Zkontrolujte, zda jsou nainstalovány závislosti:
cd frontend && npm install --legacy-peer-deps - Ověřte, že backend běží na portu 4444
- Zkontrolujte připojení k databázi
- Ověřte environment proměnné
- Zkontrolujte logy:
docker-compose logs backend
- Zkontrolujte, zda běží PostgreSQL kontejner:
docker-compose ps - Ověřte konfigurace v
docker-compose.yml
- Zkontrolujte, zda jsou exposované správné porty
- Ověřte VS Code launch konfiguraci
- Restartujte VS Code a Docker kontejnery
- Autentifikace a autorizace (JWT) ✅
- Kompletní uživatelské profily s kontaktními údaji ✅
- Admin panel pro správu uživatelů a oprávnění ✅
- Audit logging a systémové statistiky ✅
- Unit a integration testy
- CI/CD pipeline
- Production Docker konfigurace
- API rate limiting
- Caching layer (Redis)
- File upload functionality
Aplikace obsahuje kompletní audit logging systém:
- Automatické logování všech HTTP requests
- User action tracking s IP adresami a session management
- Systémové statistiky - uživatelé, zvířata, návštěvnost
- Scheduled tasks pro cleanup a agregaci dat
- Admin dashboard s detailními analytics
- URL:
/statistics(pouze pro adminy) - Menu: Admin → Statistiky
- 4 hlavní záložky: Systém, Návštěvnost, Zvířata, Lokace
GET /api/statistics/system # Systémové statistiky
GET /api/statistics/page-visits # Návštěvnost stránek
GET /api/statistics/animals # Statistiky zvířat
GET /api/statistics/locations # Lokace uživatelů
GET /api/tasks/status # Stav scheduled tasksDetailní dokumentace: AUDIT_LOGGING.md
- Fork repository
- Vytvořte feature branch (
git checkout -b feature/nova-funkcionalita) - Commitněte změny (
git commit -am 'Přidat novou funkcionalitu') - Push do branch (
git push origin feature/nova-funkcionalita) - Vytvořte Pull Request
MIT License - viz LICENSE soubor.