Skip to content
This repository was archived by the owner on Feb 9, 2026. It is now read-only.

nejento/DetskyKoutek

Repository files navigation

Dětský koutek TUL

Rezervační systém dětského koutku při Technické univerzitě v Liberci. Aplikace umožňuje rodičům, personálu a administrátorům efektivně spravovat rezervace a harmonogram dětského koutku.


📋 O projektu

Webová aplikace vytvořená jako bakalářská práce na Fakultě mechatroniky, informatiky a mezioborových studií Technické univerzity v Liberci. Systém poskytuje komplexní řešení pro správu rezervací dětského koutku na Fakultě přírodovědně-humanitní a pedagogické TUL.

Hlavní funkce

  • 👥 Správa uživatelů - podpora více rolí (rodič, asistent, administrátor)
  • 👶 Evidence dětí - správa informací o dětech včetně poznámek
  • 📅 Rezervační systém - jednoduchá rezervace termínů
  • 🗓️ Kalendář - přehledné zobrazení harmonogramu
  • 📊 Reporting - export dat do CSV formátu
  • 🔒 SSO integrace - přihlášení přes LIANE systém
  • 📧 E-mailové notifikace - automatické informování uživatelů

🏗️ Struktura projektu

DetskyKoutekTUL/
├── app.js                      # Hlavní aplikační soubor (Express.js server)
├── db.js                       # Konfigurace databázového připojení
├── helpers.js                  # Pomocné funkce (kontrola rolí, validace)
├── package.json                # Závislosti a skripty projektu
├── prepareDatabase.sql         # SQL skript pro inicializaci databáze
├── settings_example.json       # Příklad konfiguračního souboru
├── bin/
│   └── www                     # Spouštěcí skript serveru
├── routes/                     # Obsluha jednotlivých cest (routery)
│   ├── index.js               # Domovská stránka
│   ├── auth.js                # Autentizace a SSO
│   ├── user.js                # Uživatelský profil
│   ├── children.js            # Správa dětí
│   ├── reservations.js        # Rezervace termínů
│   ├── staff.js               # Rozhraní pro personál
│   ├── manage.js              # Správa harmonogramu
│   └── admin.js               # Administrátorské funkce
├── views/                     # EJS šablony
│   ├── index.ejs              # Úvodní stránka
│   ├── admin.ejs              # Admin dashboard
│   ├── staff.ejs              # Pohled personálu
│   ├── reservations.ejs       # Rezervace
│   ├── manage.ejs             # Správa harmonogramu
│   ├── child_list.ejs         # Seznam dětí
│   ├── overview.ejs           # Přehled
│   ├── error.ejs              # Chybové stránky
│   └── templates/             # Znovupoužitelné komponenty
└── public/                    # Statické soubory
    ├── images/                # Obrázky
    ├── scripts/               # JavaScript soubory
    ├── stylesheets/           # CSS styly
    └── files/                 # Uživatelské soubory

🛠️ Technologie

Backend

  • Node.js - JavaScriptové runtime prostředí
  • Express.js v4.18.2 - Webový framework
  • MySQL - Relační databáze
  • EJS - Šablonovací systém

Frontend

Bezpečnost a optimalizace

Další nástroje


🚀 Instalace a spuštění

Požadavky

  • Node.js (v14 nebo vyšší)
  • MySQL Server (v5.7 nebo vyšší)
  • npm nebo yarn

Postup instalace

  1. Klonování repozitáře

    git clone https://github.com/nejento/DetskyKoutekTUL.git
    cd DetskyKoutekTUL
  2. Instalace závislostí

    npm install
  3. Vytvoření databáze

    mysql -u root -p < prepareDatabase.sql
  4. Konfigurace aplikace

    Zkopírujte settings_example.json jako settings.json a upravte konfiguraci:

    cp settings_example.json settings.json

    Upravte následující parametry v settings.json:

    {
      "port": 80,
      "mysql_host": "localhost",
      "mysql_user": "detskykoutek",
      "mysql_pass": "your_password",
      "mysql_database": "detskykoutek",
      "sessionSecret": "random_long_string",
      "mailFrom": "noreply@example.com",
      "emailDomain": "example.com",
      "appUrl": "https://app.example.com",
      "ssoUrl": "https://auth.example.com/sso/login"
    }
  5. Spuštění aplikace

    npm start

Aplikace bude dostupná na http://localhost:80 (nebo na portu specifikovaném v konfiguraci).


🔧 Konfigurace

Hlavní konfigurační soubor settings.json obsahuje:

Parametr Popis
port Port pro HTTP server
mysql_* Přístupové údaje k MySQL databázi
sessionSecret Tajný klíč pro šifrování sessions
https Povolení HTTPS (true/false)
httpsPort Port pro HTTPS server
redirectToHttps Automatické přesměrování na HTTPS
privkey Cesta k SSL privátnímu klíči
fullchain Cesta k SSL certifikátu
mailFrom E-mailová adresa odesílatele
emailDomain Doména pro e-mailové adresy
appUrl URL aplikace
ssoUrl URL pro SSO přihlášení (LIANE)

👥 Role uživatelů

Systém podporuje tři typy uživatelů:

  • 👨‍👩‍👧 Rodič - může přidávat své děti, vytvářet rezervace a spravovat své rezervace
  • 👔 Asistent - má přístup k harmonogramu, může vidět rezervace a pracovat s dětmi
  • 🔐 Administrátor - má plný přístup ke všem funkcím včetně správy uživatelů a harmonogramu

📄 Licence

Projekt vytvořen jako bakalářská práce na Technické univerzitě v Liberci.

About

Rezervační systém pro dětský koutek v rámci Fakulty pedagogické Techncké univerzity v Liberci, vytvářený jako bakalářská práce

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages