metatroncubeswdev 8dd97dec9b
Some checks failed
CI / Brand-leak check (push) Has been cancelled
CI / flake8 / pylint-odoo / manifest completeness (push) Has been cancelled
CI / Install all modules with --test-enable (push) Has been cancelled
docs(phase-9-a): fill in real module READMEs, add CHANGELOGs, fix stale HANDOFF
- Replace the Phase-0 "content to be completed" placeholder Usage section
  in every community_* README.rst with the actual features built across
  Phases 1-6 (routes, crons, portal pages).
- Add CHANGELOG.rst (19.0.1.0.0) to every community_* module.
- Note independent-vs-bundled module relationships in the root README.
- Fix HANDOFF.md: Phase 8 was already committed (9a24691) and a git
  remote is configured, contrary to what it still said; record 9-A
  progress and the open gaps (missing banner.png assets, live
  --test-enable suite not re-run this session, no v1.0.0 tag yet).
2026-08-20 09:23:32 -04:00

36 lines
1.3 KiB
ReStructuredText

===================
Community OS School
===================
Programs/levels, classes & schedules, students, enrollment, attendance, LMS
link, and parent portal for any weekend/community/language school.
Installation
============
Install as any Odoo module.
Usage
=====
* Admins define terms, levels (e.g. Beginner..Advanced, or Grade 1-12 —
entirely configurable), and classes; teachers are ``res.partner`` records
flagged ``is_teacher``.
* Parents register at ``/school/register`` in three steps (parent -> student
-> class + payment), which creates the child contact, student record, an
enrollment, and a fee invoice. Full classes fall back to a waitlist that
is notified automatically when a seat frees up.
* Teachers take attendance from ``/school/attendance`` (today/this week
roster, batch Present/Absent/Late/Excused save); an ``absent`` mark
queues a configurable email to the parent. Admins get an attendance
pivot report and an "at-risk" flag below a configurable threshold.
* Each class auto-creates a ``website_slides`` channel; enrolling/
withdrawing a student enrols/unenrols them from it automatically.
* ``scripts/migrate_classroom.py`` bulk-imports existing assignments (CSV of
title + Drive/YouTube URL) as slide records.
Credits
=======
Authors
-------
* Metatroncube Software Solutions LLP