TNCSC_Odoo/addons/community_school
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
..

===================
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