ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
La plateforme qui relie l'école, les enseignants et les parents : notes, bulletins, présences et paiements avec reçus.
Translation pending
EducationGitHub @Alioune89OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Plateforme SaaS de gestion scolaire pour les écoles privées du Sénégal. Elle relie la direction, les professeurs et les parents : notes et bulletins, présences, paiements avec reçus, communication.
Prérequis : Node.js 22 ou plus, et Docker Desktop lancé.
npm install
npm run db:start # Supabase local (Postgres, Auth, Studio…) — le premier lancement télécharge les images
npm run db:env # écrit .env.local avec les clés du Supabase local
npm run dev # http://localhost:3000
Supabase Studio : http://127.0.0.1:54323 · Base : postgresql://postgres:[email protected]:54322/postgres
supabase/seed.sql)| Compte | Connexion | Espace |
|---|---|---|
| [email protected] | e-mail, mot de passe FamaSchool2026 | Plateforme (équipe Fama School) |
| [email protected] | e-mail, mot de passe FamaSchool2026 | Direction — Groupe Scolaire Les Baobabs |
| 77 000 00 01 | téléphone, code 123456 | Parent — Les Baobabs |
| 77 000 00 02 | téléphone, code 123456 | Professeur — Les Baobabs et Al Amine (vacataire) |
| 77 000 00 03 | téléphone, code 123456 | Censeur — Les Baobabs |
| 77 000 00 04 | téléphone, code 123456 | Directeur — Institut Franco-Arabe Al Amine |
| 77 099 00 07 | téléphone, code 123456 | Comptable — Les Baobabs |
| 77 099 00 08 | téléphone, code 123456 | Secrétaire — Les Baobabs |
| 77 099 00 09 | téléphone, code 123456 | Surveillant général — Les Baobabs |
Les comptes téléphone n'existent qu'après la première connexion : l'invitation correspondante est alors rattachée automatiquement.
| Commande | Rôle |
|---|---|
npm run dev | Serveur de développement |
npm run build / npm start | Build de production (génère aussi public/sw.js) |
npm run lint · npm run typecheck | ESLint · TypeScript strict |
npm test | Tests unitaires (Vitest) |
npm run test:e2e | Parcours Playwright (desktop 1440 px + Pixel 7) sur un build de production |
npm run db:reset | Réapplique migrations et seed |
npm run db:test | Tests de sécurité de la base (pgTAP : RLS, rôles, invitations) |
npm run db:types | Régénère src/lib/supabase/database.types.ts |
src/
app/[locale]/(public) accueil, page hors ligne
app/[locale]/(auth) connexion (téléphone + OTP, e-mail personnel), choix de l'espace
app/[locale]/(app)/… espaces direction, professeur, parent, plateforme
components/ ui (shadcn restylé), layout (coquille des maquettes), dashboard
features/<module>/ actions serveur, requêtes, schémas
lib/ supabase, auth (session, espaces), format (FCFA, dates), phone (E.164)
messages/fr.json, wo.json
proxy.ts session Supabase + garde optimiste + langue
supabase/ config, migrations, seed, tests pgTAP
school_id, et chaque table publique a la RLS activée (un test pgTAP échoue sinon). Les règles d'accès passent par les fonctions du schéma private (has_role, is_staff, can_invite…).<Suspense>. L'affichage reste instantané même en 3G.experimental.useOffline remet en attente les navigations et Server Actions sans réseau. Le service worker (src/service-worker/sw.ts) ne précharge que la page hors ligne, pour ménager la data des parents./wo. Une traduction wolof absente retombe sur le français. Les textes wolof doivent être relus par un locuteur natif.bigint), jamais de nombres à virgule.+221…), normalisés avec libphonenumber-js.Le développement suit des lots : 0 socle, 1 paramétrage et annuaire, 2 présence, 3 notes et bulletins, 4 paiements (PayDunya), 5 espace parents, 6 notifications, 7 espace professeur complet et préparation du pilote, 8 site vitrine et préinscription.
main.