SCHOOL PORTAL — NURSERY, PRIMARY & SECONDARY EDITION (NIGERIA)
===============================================================
Everything a Nigerian school needs, from admission to leaving and from fee
collection to exam results: 45+ modules and 8 built-in user panels.

8 USER PANELS
 1. Super Admin   – everything, including roles, modules and database update
 2. Admin         – runs the school day to day (all modules you allow)
 3. Accountant    – fees, online payments, bank receipts, income & expense
 4. Teacher       – my lessons today, mark entry, comments, attendance,
                    CBT papers, assignments, study materials, my timetable
 5. Receptionist  – front office (enquiries, visitors, calls, post,
                    complaints), admissions, school calendar
 6. Librarian     – books, issue / return, overdue list and fines
 7. Parent        – each child's fees, receipts, report cards, timetable,
                    study materials, calendar (login with phone number)
 8. Student       – dashboard, fees, report card, CBT, timetable,
                    subjects, materials, assignments, notices
Change what any role can do in Administration -> Roles & Permissions, and
switch whole modules off in Administration -> System Modules.

MODULES
 Admissions: online application, application fee, review & approve,
   admission letter (template, email + SMS/WhatsApp, bulk send), entrance
 Students: records, ID cards, attendance (daily and per subject), leave,
   promotion, transfer, alumni / leaving, testimonial, transcript
 Academic: sessions & terms, classes & arms (Creche - SS 3), subjects
   (full Nigerian curriculum), teacher assignment, class timetable,
   teacher timetable, study materials, assignments, school calendar
 Exams: mark entry / CSV, grading per section, broadsheet with positions,
   report-card comments, A4 report cards, result checker PIN, CBT and
   question bank, exam / admit cards
 Fees & Accounts: fee structure, fee groups, collect payment, receipts
   (A5 / POS), Paystack / Flutterwave / Monnify / OPay, bank-transfer
   receipts, debtors, income & expense
 Front office, Library, HR (staff, staff attendance, leave, shifts, tax,
   payroll), Inventory, Hostel, Transport
 Communication: SMS, WhatsApp (with inbox), email, automatic alerts,
   message templates, portal notices
 Website: slideshow, branding, colours, pages, gallery, videos, events,
   management team, contact enquiries; installable web app
 Administration: branches, roles & permissions, staff users, modules,
   automatic database update

WHAT YOU GET
- Public website: slideshow, welcome from the Principal, Nursery / Primary /
  Secondary sections, why choose us, figures, about, gallery, notices, FAQ,
  contact, online admission, school fees, result checker (PIN).
- School Portal for staff, students and parents (one login page: portal.php).
- Sections: every class is Nursery, Primary or Secondary. Each section has its
  own A4 report card title, grading scale, CA/exam split and head
  (Head Teacher or Principal).
- Examinations: mark entry (or CSV upload), broadsheet with totals, averages
  and positions, report-card comments, one-click A4 report cards for a whole
  class, CBT, exam cards. Class position and subject position are printed on
  the report card (can be switched off per section, e.g. for Nursery).
- Fees & Accounts: fee structure, collect payment, online payment (Paystack,
  OPay, Moniepoint, Flutterwave ...), bank-transfer receipts confirmed by the
  bursar, A5 / POS receipts, overview with debtors, income and expenses.
- Website & Branding (no code needed): school name, motto, contacts, logo,
  page banner, Principal's photo, signatures, school stamp, colours, homepage
  text, slideshow headlines and buttons, report-card settings.

NEW INSTALLATION
1. cPanel -> MySQL Databases: create an empty database and a user; add the user
   to the database with ALL PRIVILEGES.
2. Upload this zip into public_html (or a sub-folder) and extract it.
3. Open the website. The installer asks for the database and the school's
   details, builds all the tables by itself and then asks you to create the
   Super Admin account.
4. Log in (portal.php) and open Website -> Website & Branding to upload your
   logo, banner, colours and homepage text.

FIRST THINGS TO SET UP
- Academic Setup -> Sessions: check the current session.
- Academic Setup -> Classes & Arms: Creche to SS 3 are ready; rename,
  add or remove classes and arms, and choose each class's section.
- Academic Setup -> Subjects / Assign Teachers.
- Fees & Accounts -> Fee Structure: amount per class for the session.
- Exams -> Terms & Grading: grading scale for each section.
- Website & Branding -> Report card: CA marks (default 40 + exam 60), head's
  title and name for each section; upload signatures and the school stamp.

- Admissions -> Admission Letter Template: wording, resumption date and who
  signs. Approved applicants get the letter by email automatically.
- Academic Setup -> Class Timetable: bell times, then each class's week.
- Administration -> Staff Users: create the Accountant, Teachers,
  Receptionist and Librarian logins (each sees only their own panel).

END OF TERM
1. Exams & Results -> create the term exam for each class, enter marks.
2. Rate behaviour, then Report Card Comments (empty boxes are filled
   automatically from each student's average).
3. Broadsheet -> check totals and positions.
4. Publish -> students and parents see the report card in the portal (locked
   while fees are owed if "lock transcript/report card" is on in Admit Card
   Configuration). PINs are created for the result checker.
5. Report Cards -> Print all (A4) or Save as PDF.

UPDATING LATER
Upload the new zip over the old files. Your config/database.php and uploads
are not in the zip, so nothing is lost. The database updates itself the first
time a page is opened (Administration -> Database Update shows the status).
