SELF ACADEMY
Configuration initiale
Connexion Supabase
Entre tes clés API Supabase. Tu les trouves dans ton projet Supabase → Settings → API.
Créer la base de données
Copie ce SQL dans ton Supabase → SQL Editor → New query, exécute-le, puis reviens ici.
-- Copie tout ce bloc dans Supabase SQL Editor create table if not exists members ( id uuid primary key default gen_random_uuid(), full_name text not null, email text unique not null, phone text, birth_date date, level text default 'Débutant', private_notes text, health_notes text, emergency_contact text, medical_cert boolean default false, medical_cert_date date, photo_url text, total_courses_attended int default 0, created_at timestamp default now() ); create table if not exists packs ( id uuid primary key default gen_random_uuid(), member_id uuid references members(id) on delete cascade, pack_size int not null check (pack_size in (10,20,40)), courses_used int default 0, card_number int default 1, payment_status text default 'unpaid' check (payment_status in ('paid','unpaid')), payment_method text check (payment_method in ('cash','twint','virement')), payment_date date, purchased_at timestamp default now(), is_active boolean default true ); create table if not exists sessions ( id uuid primary key default gen_random_uuid(), session_date date not null, session_time text not null, status text default 'scheduled' check (status in ('scheduled','cancelled','postponed')), cancellation_reason text, max_participants int default 20, created_at timestamp default now() ); create table if not exists attendances ( id uuid primary key default gen_random_uuid(), session_id uuid references sessions(id) on delete cascade, member_id uuid references members(id) on delete cascade, pack_id uuid references packs(id), attended boolean default true, registered_at timestamp default now(), unique(session_id, member_id) ); create table if not exists contracts ( id uuid primary key default gen_random_uuid(), member_id uuid references members(id) on delete cascade, pack_id uuid references packs(id), signed_at timestamp, signature_data text, terms_version text default 'v1', created_at timestamp default now() ); create table if not exists announcements ( id uuid primary key default gen_random_uuid(), title text not null, content text not null, is_active boolean default true, created_at timestamp default now() ); create table if not exists email_alerts ( id uuid primary key default gen_random_uuid(), member_id uuid references members(id) on delete cascade, pack_id uuid references packs(id), alert_type text not null, sent_at timestamp default now() ); alter table members enable row level security; alter table packs enable row level security; alter table sessions enable row level security; alter table attendances enable row level security; alter table contracts enable row level security; alter table announcements enable row level security; alter table email_alerts enable row level security; create policy "Allow all" on members for all using (true) with check (true); create policy "Allow all" on packs for all using (true) with check (true); create policy "Allow all" on sessions for all using (true) with check (true); create policy "Allow all" on attendances for all using (true) with check (true); create policy "Allow all" on contracts for all using (true) with check (true); create policy "Allow all" on announcements for all using (true) with check (true); create policy "Allow all" on email_alerts for all using (true) with check (true);
Compte Administrateur
Va dans Supabase → Authentication → Users → Add user. Crée ton compte admin avec cet email et mot de passe, puis entre-les ici pour te connecter.
SELF ACADEMY
SELF ACADEMY
SELF ACADEMY

SELF ACADEMY

Admin
A
Admin