Architecture initialisee

Skolar donne aux formateurs un poste de pilotage pour leurs prospects, leurs cohortes et chaque exercice rendu.

Base web Next.js avec Prisma sur PostgreSQL, schema relationnel dedie au CRM, aux inscriptions aux formations et au suivi de soumission des etudiants.

Next.js App RouterTypeScriptTailwind CSSPrisma ORMNeon PostgreSQL

Modeles coeur

6

Prospects, etudiants, cours, inscriptions, exercices et soumissions dans un schema unique.

Piliers metier

3

CRM leger, gestion des cohortes et suivi des rendus des etudiants.

Base deployable

1

Structure de projet lisible, build Next.js standard et deploiement Vercel natif.

Flux fonctionnels

Trois modules de gestion, une seule surface de travail.

Prospects

Un mini CRM pour suivre les leads entrants, qualifier les contacts et garder un historique exploitable.

  • Nom, email, statut et notes centralises
  • Index sur le statut pour filtrer rapidement le pipe commercial
  • Point d'entree naturel pour un futur tunnel de conversion

Etudiants & inscriptions

La couche formation relie chaque etudiant a ses cours, son avancement et son statut d'inscription.

  • Emails uniques et statut d'apprentissage
  • Relation many-to-many explicite via Enrollment
  • Progression globale suivie au niveau de l'inscription

Exercices & soumissions

Chaque rendu conserve l'exercice cible, l'etudiant, le score et le feedback pour piloter la progression.

  • Ordonnancement des exercices a l'interieur d'un cours
  • Cycle de revision via SubmissionStatus
  • Base prete pour ajout de commentaires et notation avancee

Couche donnees

Schema Prisma prete a migrer sur Neon.

Le modele couvre le pipeline prospect, les etudiants, les formations, l'inscription et le detail de chaque rendu.

Prospect

Prisma

Stocke les leads commerciaux avec email unique, statut CRM et notes libres.

email uniqueProspectStatusnotes

Student

Prisma

Represente un apprenant actif ou archive avec identite, email et historique relationnel.

email uniqueStudentStatusenrollments

Course

Prisma

Porte la formation, son slug public et les exercices qui la composent.

slug uniqueexercisesenrollments

Enrollment

Prisma

Jointure explicite entre etudiant et formation avec statut et pourcentage d'avancement.

many-to-manyprogressPercentunique studentId+courseId

Exercise

Prisma

Definit une consigne de travail dans un cours avec ordre, slug et instructions detaillees.

positioncourse scoped slugsubmissions

Submission

Prisma

Enregistre chaque rendu et son cycle de correction: contenu, score, feedback et dates clefs.

SubmissionStatusscorereviewedAt

Structure projet

Organisation simple, lisible, prete a evoluer.

L'application garde une separation nette entre routes App Router, composants presentiels, utilitaires applicatifs et schema de donnees.

app/
├─ layout.tsx
├─ globals.css
└─ page.tsx
components/
└─ home/
   ├─ metric-card.tsx
   └─ project-tree.tsx
lib/
├─ prisma.ts
└─ skolar-data.ts
prisma.config.ts
prisma/
└─ schema.prisma

Etat initial

Deploiement Vercel

Le repo reste a la racine avec `app/` et `package.json` pour un build auto-detecte sur Vercel.

Prisma + PostgreSQL

Le client Prisma est centralise dans `lib/prisma.ts` et la migration initiale est generee depuis `prisma/schema.prisma`.

Prochaine etape produit

Ajouter des routes proteges, un dashboard CRUD et les premieres vues metier sur les prospects, cours et soumissions.