Rosorum

Eerste keer instellen

Verbind het beheerportaal met jouw Supabase project.

Stap 1 — Supabase verbinding

Alleen lokaal opgeslagen. Nodig om accounts aan te maken en rollen te wijzigen.

Stap 2 — Eerste bestuur account aanmaken


Stap 3 — Supabase database SQL (klik om te openen)

Voer dit eenmalig uit in de Supabase SQL editor. Ga naar jouw project → SQL Editor → New query.

-- Profielen (naam en actief status per gebruiker) create table if not exists profielen ( id uuid references auth.users on delete cascade primary key, naam text not null, actief boolean default true, created_at timestamptz default now() ); alter table profielen enable row level security; create policy "eigen profiel" on profielen for select using (auth.uid() = id); create policy "bestuur leest alle profielen" on profielen for select using ( (auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur' ); -- Rol rechten (welke tegel welke rol mag zien) create table if not exists rol_rechten ( rol text not null, tegel text not null, toegang boolean default false, primary key (rol, tegel) ); alter table rol_rechten enable row level security; create policy "authenticated leest rechten" on rol_rechten for select using (auth.role() = 'authenticated'); create policy "bestuur beheert rechten" on rol_rechten for all using ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur') with check ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur'); -- Standaard rechten per rol insert into rol_rechten (rol, tegel, toegang) values ('bestuur', 'website', true), ('bestuur', 'roostering', true), ('bestuur', 'personeel', true), ('bestuur', 'bestanden', true), ('bestuur', 'gebruikers', true), ('administratie', 'website', true), ('administratie', 'roostering', false), ('administratie', 'personeel', false), ('administratie', 'bestanden', true), ('administratie', 'gebruikers', false), ('vrijwilliger', 'website', false), ('vrijwilliger', 'roostering', true), ('vrijwilliger', 'personeel', false), ('vrijwilliger', 'bestanden', true), ('vrijwilliger', 'gebruikers', false) on conflict do nothing;

Dashboard

Actieve gebruikers
3
Nieuwsberichten
4
Agenda-items
14
Sponsors

Beschikbare modules

📰 Nieuwsberichten

TitelDatumStatusActies
Laden...
📅

Roostering

Diensten plannen, beschikbaarheid opgeven en weekoverzichten — dit module wordt binnenkort gebouwd!

In ontwikkeling · 15% gereed

👥

Personeelsportaal

Medewerkers- en vrijwilligersbeheer, contactinfo, contracten en taakverdeling.

Gepland · 5% gereed

📁

Bestandsbeheer

Documenten uploaden, ordenen per categorie en delen met specifieke medewerkers.

In planning · 10% gereed

🎭 Rolverdeling

Laden...

👤 Gebruikers

NaamRolStatusAangemaaktActies
Laden...

⚙️ Supabase verbinding

Alleen lokaal opgeslagen in je browser. Nodig voor gebruikersbeheer.

🗄️ Database SQL

Voer dit eenmalig uit in de Supabase SQL Editor als je de database nog niet hebt ingesteld.

Toon setup SQL
-- Profielen create table if not exists profielen ( id uuid references auth.users on delete cascade primary key, naam text not null, actief boolean default true, created_at timestamptz default now() ); alter table profielen enable row level security; create policy "eigen profiel" on profielen for select using (auth.uid() = id); create policy "bestuur leest alle profielen" on profielen for select using ( (auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur' ); -- Rol rechten create table if not exists rol_rechten ( rol text not null, tegel text not null, toegang boolean default false, primary key (rol, tegel) ); alter table rol_rechten enable row level security; create policy "authenticated leest rechten" on rol_rechten for select using (auth.role() = 'authenticated'); create policy "bestuur beheert rechten" on rol_rechten for all using ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur') with check ((auth.jwt() -> 'user_metadata' ->> 'rol') = 'bestuur'); -- Standaard rechten insert into rol_rechten (rol, tegel, toegang) values ('bestuur','website',true),('bestuur','roostering',true), ('bestuur','personeel',true),('bestuur','bestanden',true),('bestuur','gebruikers',true), ('administratie','website',true),('administratie','roostering',false), ('administratie','personeel',false),('administratie','bestanden',true),('administratie','gebruikers',false), ('vrijwilliger','website',false),('vrijwilliger','roostering',true), ('vrijwilliger','personeel',false),('vrijwilliger','bestanden',true),('vrijwilliger','gebruikers',false) on conflict do nothing;