Docházková aplikace
Featured
Web Development

Docházková aplikace

UIUXReactJSHtmlCss

Malá webová aplikace pro zaznamenávání docházky a uživatel v moderním UI v oranžová stylu

Úvod projektu

Tento projekt je webová docházková aplikace navržená v moderním oranžovém UI stylu. Cílem bylo vytvořit přehledný systém pro evidenci docházky uživatelů s důrazem na jednoduchost, rychlost a vizuální čistotu.

Aplikace umožňuje správu docházky, přehledy přítomnosti a práci s daty v reálném čase.

Klíčové funkce

✔ Evidence příchodů a odchodů
✔ Přehled docházky v tabulce
✔ Statistika přítomnosti
✔ Filtrace podle uživatelů / dnů
✔ Admin rozhraní pro správu dat
✔ Responzivní design (mobil / desktop)

UI / Design

Projekt je postavený na výrazném oranžovém vizuálním stylu, který kombinuje:
- tmavé pozadí pro kontrast
- oranžové akcenty pro akční prvky
- zaoblené komponenty
- jednoduché dashboard rozložení
👉 Cílem bylo dosáhnout „modern dashboard“ vzhledu.

Galerie hlavních prvků

Technologie

- React / Vite (frontend)
- Tailwind CSS (styling)
- REST API (backend komunikace)
- Node.js / Python backend (dle implementace)
- Netlify deployment

Architektura systému

Aplikace je rozdělena do tří hlavních částí:
1. Frontend – UI, dashboard, formuláře
2. API vrstva – komunikace se serverem
3. Databáze – ukládání uživatelů a docházky

User badgejavascript

zaznamená pro ostatní zda je daný uživatel aktivní nebo zda není

function StatusBadge({ status }: { status: string }) {
  const config: Record<string, { label: string; className: string }> = {
    offline: { label: "Nepřítomen", className: "bg-muted text-muted-foreground" },
    working: { label: "Pracuje", className: "bg-green-muted text-green" },
    break: { label: "Pauza", className: "bg-pink-muted text-pink" },
    away: { label: "Mimo", className: "bg-orange-muted text-orange" },
  };
  const c = config[status] || config.offline;
  return (
    <span className={`inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-sm font-medium ${c.className}`}>
      <span className="w-1.5 h-1.5 rounded-full bg-current" />
      {c.label}
    </span>
  );
}
Hodinyjavascript

funkce pro sledování a zaznamenání přesného času

function LiveClock() {
  const [time, setTime] = useState(new Date());

  useEffect(() => {
    const interval = setInterval(() => setTime(new Date()), 1000);
    return () => clearInterval(interval);
  }, []);
}
Evidencejavascript

Kód sloužící k ukládání a zobrazení minulých záznamů

const recentRecords = records.slice(0, 5);

{recentRecords.map(record => (
  <div key={record.id}>
    {record.label}
  </div>
))}

Co jsem se naučila

* práce s API a datovými strukturami
* návrh UI dashboardu
* stavová logika v Reactu
* responzivní layout
* strukturování větší frontend aplikace

Možná vylepšení

- QR check-in systém

  • grafy docházky

  • dotažení přehledu (nezobrazuje reálná data z důvodu ukázky)