Einrichtung

Einmalig durchführen – danach startet die App direkt.

Schritt 1 – Datenbank anlegen

Im Supabase DashboardSQL Editor → diesen Code einfügen → Run:

-- Mitarbeiter
create table if not exists mitarbeiter (
  id uuid default gen_random_uuid() primary key,
  email text unique not null,
  name text not null,
  rolle text default 'mitarbeiter',
  passwort_hash text,
  wochensoll_stunden numeric(4,2) default 40,
  urlaub_tage_pro_jahr int default 25,
  eintrittsdatum date,
  erfassung_ab date,
  startsaldo_stunden numeric(6,2) default 0,
  startsaldo_urlaub numeric(4,1) default 0,
  aktiv boolean default true,
  erstellt_am timestamptz default now()
);

-- Wochendienstplan
create table if not exists dienstplan (
  id uuid default gen_random_uuid() primary key,
  mitarbeiter_id uuid references mitarbeiter(id) on delete cascade,
  wochentag int not null, -- 1=Mo, 2=Di, 3=Mi, 4=Do, 5=Fr, 6=Sa, 0=So
  start_zeit time,
  end_zeit time,
  pause_minuten int default 0,
  aktiv boolean default true
);

-- Zeiteinträge
create table if not exists zeiteintraege (
  id uuid default gen_random_uuid() primary key,
  mitarbeiter_id uuid references mitarbeiter(id) on delete cascade,
  datum date not null,
  typ text not null,
  start_zeit time,
  end_zeit time,
  pause_minuten int default 0,
  effektive_minuten numeric(6,2) default 0,
  notiz text,
  erstellt_am timestamptz default now()
);

-- Sicherheit
alter table mitarbeiter enable row level security;
alter table dienstplan enable row level security;
alter table zeiteintraege enable row level security;
create policy "r_ma" on mitarbeiter for select using (true);
create policy "w_ma" on mitarbeiter for insert with check (true);
create policy "u_ma" on mitarbeiter for update using (true);
create policy "del_ma" on mitarbeiter for delete using (true);
create policy "r_dp" on dienstplan for select using (true);
create policy "w_dp" on dienstplan for insert with check (true);
create policy "u_dp" on dienstplan for update using (true);
create policy "d_dp" on dienstplan for delete using (true);
create policy "r_ze" on zeiteintraege for select using (true);
create policy "w_ze" on zeiteintraege for insert with check (true);
create policy "d_ze" on zeiteintraege for delete using (true);
create policy "u_ze" on zeiteintraege for update using (true);
Schritt 2 – Zugangsdaten eingeben
Logo

Praxis Dr. Prümmer

Facharzt für Innere Medizin

Arbeitszeitverwaltung

Noch kein Passwort? Konto aktivieren

Logo
Urlaub Krank Feiertag Arbeit Rufbereitschaft
Lade...
Arbeit Urlaub Krank Rufb. Feiertag
➕ Eintrag hinzufügen
Lade...
Lade...
Lade...
Lade...
Lade...