@mostajs/school
v0.1.0
Published
Cœur métier MINCE d'un établissement de formation : élève/parent (dérive @mostajs/users) + scolarité. COMPOSE training/attendance/gradebook/certificates/coaching. Assemble P2 ATC.
Maintainers
Readme
@mostajs/school
Auteur : Dr Hamid MADANI [email protected] · Licence : AGPL-3.0-or-later · Statut : 0.1.0 (3 tests verts)
Cœur métier mince P2 ATC : élève/parent (dérive @mostajs/users) + scolarité. Compose training/attendance/gradebook/certificates/coaching.
import { createSchool, createMemoryRepositories } from '@mostajs/school';
const school = createSchool({ repositories: createMemoryRepositories(), users, training, attendance, gradebook, certificates, coaching });
const { student } = await school.students.admit({ person:{firstName:'Inès'}, parent:{firstName:'Mme',email:'[email protected]'}, grade:'A1' });
await school.enroll(student.id, sessionId);
await school.markAttendance(student.id, sessionId, { status:'present' });
await school.recordGrade(student.id, { sessionId, courseId, levelId, score:17, max:20 });
await school.issueCertificate(student.id, { title:'Anglais A1' });
const portal = await school.parentPortal(student.id); // présences + notes + attestationsLancer : node test-scripts/unit/school.test.mjs && node examples/scolarite/run.mjs
