HTTPS, secure cookies, HSTS, CSP, rate limiting – independently tested. Your data is safe from hackers.
AI Lesson Plans
Generate complete lesson notes in seconds using Google Gemini AI (Groq fallback). Saves teachers hours of manual work.
QR Attendance
Students scan a QR code → full day attendance marked. Teachers clock in/out with one scan at the gate.
CBT & Automated Grading
Objective questions auto‑graded; subjective with model answers. Results available instantly.
Report Cards & Analytics
Enter CA scores, exams; system calculates totals, percentages, grades, and prints professional report cards.
Multi‑Tenant & Scalable
One platform serves multiple schools (chains, franchises). Role‑based dashboards for each level.
Built‑in Fee & Payment System
Create fee structures, record payments, track balances, and integrate with Paystack for online payments.
Messaging & Announcements
Internal inbox for admins, teachers, students, and broadcast announcements. Unread badges and reply system.
🏢 Multi‑Tenant Architecture & Organogram
How EDUTEK SMS is Structured
1. Super Admin (Platform Owner)
Manages all tenants, global settings, referrals, platform analytics. Highest level of access.
2. Tenant Admin (Organisation / Group of Schools)
Each tenant can have multiple schools. Tenant admin manages billing, school subscriptions, and oversees all schools under the tenant.
3. School Admin (Individual School)
Manages students, teachers, classes, subjects, attendance, results, fees, and school settings.
4. Teachers & Staff
Access dashboard to take attendance, enter results, generate AI lesson plans, create CBT exams, and communicate with admin.
5. Students
View results, take CBT exams, submit assignments, and receive messages. Can also log in via simplified “CBT mode” using only admission number.
6. Parents / Guardians
View child’s results, attendance, fee status, and receive announcements.
💡 Each level has its own dashboard and permissions. Data is isolated by tenant – schools never see each other’s information.
🔒 Security – What It Means for You (Detailed)
12. CBT Mode (Simplified Student Login)
What it does: For exam centres, students can log in using only their admission number and school selection – no email/password needed. This feature can be enabled/disabled by the school admin.
Simple analogy: A special “exam door” that opens with just a student ID number, but only during exam hours and from trusted devices.
In Edutek: When enabled, the login page has a “CBT Mode” button. Students enter their admission number, select their school, and are taken directly to their exam dashboard. This prevents delays caused by forgotten passwords.
⚠️ CBT mode should only be used in supervised exam halls; it bypasses normal password security.
13. Auto‑CBT Score & Split Exam
What it does: The system automatically calculates the CBT (objective) portion of the exam (scaled to 30 marks) and saves it separately. Teachers only enter the theory (30 marks). This split ensures accurate grading and reduces manual errors.
In Edutek: School admin can enable/disable this feature via “Auto CBT Score” toggle in School Settings. When enabled, the report card shows the combined exam total (CBT + Theory).
👨💼 School Admin – Getting Started
📚 1. Create Classes
1Go to Academic → Classes
2Click “Add New Class”
3Enter Class Name (e.g., JSS 1) and Level Group
4Save – repeat for all classes
💡 Create in order (JSS 1, JSS 2, JSS 3) for proper sorting.
📖 2. Create Subjects
1Academic → Subjects
2“Add Subject” – name and credit unit
3Optionally assign to class(es) now or later
💡 Credit units are used for CGPA calculation.
👩🏫 3. Create Teachers
1Users → Teachers
2“Add Teacher” – fill name, email, phone
3Choose Teacher Type (Class/Subject/Both)
🔗 4. Assign Teachers to Subjects & Classes
1Academic → Class Subjects
2Select Class, then Subject
3Choose Teacher from dropdown
📋 5. Create & Manage Assignments
1Assignments → Create Assignment
2Select Class, Subject, Teacher
3Enter Title, Description, Instructions, Due Date
4Choose Type (Text response or Questions with options)
5Publish – students see it in their dashboard
👨🎓 Student Portal – What Students Can Do
📊 View Results
1Login to student dashboard
2Click “My Results” or “CBT Results”
3Select term/session to see scores, grades, and comments
💡 Results are updated automatically after teacher saves.
🧠 Take CBT Exams
1From dashboard, go to CBT Exam Center
2Select an available exam (with countdown if scheduled)
3Answer objective questions (auto‑graded) or subjective (manual grading)
4Submit – score shown immediately for objective exams
💡 CBT score is auto‑scaled to 30 marks if “Auto CBT Score” is enabled in School Settings.
2See termly results, subject scores, and teacher comments
3Download/print report card
📅 Attendance & Fee Status
1View attendance summary (days present/absent)
2Check fee payment history and outstanding balances
3Receive notifications for fee due dates
📘 Teacher Quick Reference – Daily Tasks
📋 Manual Attendance
1Attendance → Mark Attendance
2Select session (Morning/Afternoon)
3Choose status for each student
4Save
📱 QR Scan (Students)
1Attendance → Scan QR Code
2Point camera at student’s QR
3One scan marks both sessions
📝 Enter Results
1Results → Enter Results
2Select Class, Subject, Term, Session
3Enter CA1, CA2, and Theory (or full exam if Auto CBT is off)
4CBT marks are auto‑filled if Auto CBT is enabled
💡 Total and grade are auto‑calculated.
📊 Enter Character Ratings (Affective/Psychomotor)
1Results → Character Ratings
2Select Class, Session, Term
3For each student, rate traits on a 1–5 scale (5 = Excellent, 1 = Poor)
4Save – ratings appear on report cards and are used in automated comments.
💡 Ratings are used by the system to generate personalised teacher comments (gender‑aware).
🤖 AI Lesson Plans
1Lesson Notes → AI Generator
2Select Class, Subject, Topic
3Click “Generate” (uses 1 credit)
4Edit, then Save
⚠️ No credits? Ask admin to purchase more.
📊 Affective & Psychomotor Ratings
How to Use Character Ratings
1Teachers access “Character Ratings” from their dashboard (under Results).
2Select a class, session, and term to load students.
3Rate each student on a scale of 1–5 for both Affective (Discipline, Punctuality, Teamwork, Attitude, Attentiveness) and Psychomotor (Handwriting, Sports, Practical Skills, Game, Verbal) domains.
4Save – ratings are stored and later used in report cards and automated comments.
💡 The system uses these ratings to generate personalised, gender‑aware teacher comments on report cards.
•School admin enables “Auto CBT Score” in Settings.
•CBT score is automatically scaled to 30 marks (regardless of total number of questions).
•Teacher separately enters Theory (max 30 marks).
•Report card shows combined Exam total (out of 60).
•If disabled, teacher enters full exam mark (0–60) directly.
✅ This ensures consistent marking even when question count varies.
📋 Assignments – Submission & Grading
Student: Submit Assignment
1“My Assignments” → click assignment
2Type answer or upload file → Submit
Teacher: Grade Submissions
1Assignments → Submissions
2Click “Grade” → enter score & feedback → Save
📊 Result Calculation & CGPA Explained
How Results Are Calculated (Nigerian Standard)
1Raw Scores: Teachers enter CA1 (max 20), CA2 (max 20), and Exam (max 60). If “Auto CBT Score” is enabled, the CBT (objective) part is auto‑filled from the student’s exam (scaled to 30), and teachers only enter Theory (max 30).
2Total Score: CA1 + CA2 + Exam (or CBT+Theory) + Extra (if enabled) = Total. The total is automatically capped at 100 (so even if scores exceed 100, it’s reduced to 100).
3Percentage: The total is already a percentage out of 100 – no extra conversion needed.
4Grade (Nigerian Standard): Based on percentage: A = 70–100%, B = 60–69%, C = 50–59%, D = 45–49%, E = 40–44%, F = 0–39%. Remarks: Excellent, Very Good, Good, Fair, Poor, Fail.
5Subject Average & Overall: The system calculates the student’s average across all subjects for the term, and the class average (if needed).
How CGPA (Cumulative Grade Point Average) Works
1Grade Points (4.0 Scale): Each percentage maps to a grade and a grade point. A = 4.0 (90–100), A- = 3.7 (87–89), B+ = 3.5 (80–86), B = 3.3 (77–79), B- = 3.0 (74–76), C+ = 2.8 (70–73), C = 2.5 (67–69), C- = 2.3 (50–66), D+ = 2.0 (47–49), D = 1.7 (44–46), D- = 1.5 (40–43), F = 1.3 (0–39).
2Credit Units (CU): Each subject is assigned a credit unit (e.g., Mathematics = 5, English = 5, others = 2). This reflects the subject’s importance or contact hours.
3Points per Subject:Grade Point × Credit Unit = Subject Points.
4GPA (Grade Point Average):Sum of all Subject Points ÷ Sum of all Credit Units = GPA. This is the weighted average of grade points.
5Overall Grade (based on GPA): A (≥3.5), B (3.0–3.49), C (2.5–2.99), D (2.0–2.49), F (<2.0).
6Pass/Fail Count: The system also counts how many subjects the student passed (score ≥ 40) and failed (score < 40).
Note: The CGPA mode is optional – schools can toggle between Nigerian standard and CGPA on the report card.
📌 Note: The CGPA (4.0 scale) method is more commonly used in tertiary institutions (universities, polytechnics, colleges of education). However, some primary and secondary schools also prefer the CGPA system. EDUTEK SMS supports both modes – you can choose whichever works best for your school.
📊 Report Card Generation
Automatic Report Card Printing
1After entering all results, system calculates totals and grades based on weighting.
2Class Teacher adds remarks/comments (or use auto‑generate).
1Total School Days (Denominator): The system counts weekdays (Monday–Friday) between the Term Resumption Date and Term Closing Date set in School Settings. Weekends (Saturday & Sunday) are excluded.
2Days Present (Numerator): The system counts distinct days the student was marked “Present” in attendance. If a student is marked present in either Morning or Afternoon session, it counts as one present day. If both sessions are marked present, it still counts as one day.
3Attendance Percentage:Days Present ÷ Total School Days × 100.
4Example: If the term has 80 weekdays and the student was present on 75 days, attendance = 75 / 80 (94%).
5Why not session-based? Nigerian school report cards traditionally report attendance by days, not sessions. This is the standard format expected by parents and inspectors.
💡 Important Notes:
• Morning and afternoon attendance registers are still maintained separately for internal tracking.
• The report card uses the term dates set by the school admin (found under School Settings → Academic Calendar).
• If no term dates are set, the system falls back to counting the student’s own attendance days.
• Attendance is never "N/A" – if no records exist, it shows “No attendance records”.
📜 Historical Records & Accessing Old Results
Data Retention & Retrieval
1All data is stored per term and session – results, comments, affective/psychomotor ratings, and attendance are all linked to the specific term and session they were recorded for. This means nothing is ever overwritten or lost.
2“Next Term Begins” is now stored per term – each term has its own next_term_begins date in the academic_terms table. When you print a report card for a past term, you see the exact date that was set for that term – not today’s date.
3How to access old report cards:
• Admin: Go to Admin → Results Management. Use the filters to select the Session, Term, and Class. Click “View Result” or “Report Card” for any student.
• Teacher: Go to Reports → Report Card. The page includes dropdowns to select the session and term (passed via URL).
• Direct URL: You can construct a URL like /admin/reports/report_card.php?student_id=123&class_id=5&session_id=2&term_id=3 to load a specific historical report.
4Why this matters: Parents may need a child’s historical report cards for school transfers, university applications, or scholarship verification. The system preserves all data indefinitely, ensuring you can always generate an authentic, timestamped report card exactly as it looked when the term ended.
5Best practice: Always set term dates (resumption, closing, and next term begins) when creating a new term – this locks in accurate attendance and the correct “Next Term Begins” for that term. Past data is never affected by changes made later.
💡 Note: Old report cards are not overwritten when you update term dates or settings. The system reads the term’s own stored dates when generating historical reports.
🤖 AI Lesson Plan Generator
How to Use AI Credits
1School admin buys AI credits (via AI Credits page).
3Point camera at student’s QR – one scan marks present for both Morning and Afternoon.
Teacher Clock‑in/out QR
1Security guard uses tablet with QR scanner page.
2Each teacher has QR code on ID card.
3Scanning once toggles between clock‑in and clock‑out (voice feedback).
4Teachers view history in dashboard.
🔒 Security uses daily PIN; teachers don’t need to remember anything.
💰 Fee Management & Online Payments
Setup Fee Structures
1Finance → Fee Structures
2Add Fee Type, amount, due date, applicable class
Record Payments
1Finance → Payments → Add Payment
2Select student, fee type, amount, method
3Print receipt
💰 Coordinator Payments & Receipts
Coordinator Payment Recording
Coordinators can record student payments in bulk with full transparency:
1Select School & Students: The coordinator chooses a school and selects which students to pay (checkboxes with “Select All”).
2Expected Total: The system automatically calculates the total amount (students × ₦1,000) and shows it to the coordinator.
3Upload Receipts: The coordinator uploads one or more receipt images/PDFs. The total of all receipts must match the expected total.
4Submit for Approval: The payment batch is sent to the Super Admin for approval.
5Approval: Super Admin reviews the receipts and either approves or rejects the batch. Once approved, students are marked as paid, and a professional receipt is generated.
💡 Coordinators can also see a history of all their payments and which schools have viewed the receipts.
📋 Coordinator Dashboard
Coordinator Dashboard Features
•Assigned Schools: View all schools assigned to you with student counts and active status.
•Payment Stats: See pending, approved, and rejected payments.
•Subscription Status: Track your annual subscription and get reminders when it’s about to expire.
•School Acknowledgments: See which schools have viewed your payment receipts – builds trust.
•Profile & Settings: Update your contact details and change your password.
💡 The annual subscription is ₦30,000 and must be renewed each year to keep your coordinator account active.
🧾 Coordinator Spending Accountability
₦8,000 per Student per Term – Spending Records
According to the Code Club policy, coordinators collect ₦8,000 per student per term for club running and certificate processing. This page allows coordinators to record and account for their spending – maintaining full transparency and accountability.
How It Works
1Access: Coordinators go to their dashboard and click “Spending Records” under Quick Actions.
2Add Spending Record: The coordinator selects a school, a student (or checks “Apply to all students”), enters the term, year, spending category, amount, and description.
3Bulk Apply: The “Apply to all students” checkbox creates a separate record for every student in the school – perfect for recurring expenses like certificate printing.
4View Summary: Coordinators see spending summary by term and a detailed list of all recorded spending entries.
Why This Matters
✓Transparency: Schools and Super Admins can see exactly how the ₦8,000 per student is being utilized.
✓Accountability: Coordinators maintain a clear audit trail of their club expenses.
✓Trust: Schools see that the coordinator is managing the funds responsibly.
✓Record Keeping: All spending data is stored permanently – no more lost receipts or forgotten expenses.
💡 Note: The ₦8,000 belongs to the coordinator – this is a record-keeping tool, not an approval system. Coordinators can update their spending records anytime throughout the term.
The spending accountability system is fully integrated into the coordinator dashboard.
Super Admins can see a summary of all spending across all coordinators.
⚖️ Disputes & Transparency
Filing a Dispute
Schools can file a dispute against a coordinator directly from the school dashboard:
1Access: School Admin goes to Quick Actions → File a Dispute.
2Fill Details: Enter a subject, description, and optionally link to a student.
3Submit: The dispute is sent to the Super Admin for investigation.
4Resolution: The Super Admin can change the status (Investigating, Resolved, Dismissed) and add notes.
This ensures full accountability and protects both schools and coordinators.
🧾 Receipts & Bulk Download
School Receipt Management
Schools can view and download professional payment receipts:
•View Receipts: School dashboard shows all approved payment batches with a “Download Receipt” button.
•Preview & Download: Clicking opens a preview page with all details, the EDUTEK SMS logo, and a “Download PDF” button.
•Bulk Download: Schools can download a ZIP file containing all receipts for their school in one go.
•Auto‑mark as Viewed: When a school admin views the receipts, the system automatically marks them as “Viewed” – the coordinator sees this acknowledgment.
💡 Receipts include a QR code for public verification – anyone can scan it to verify the receipt’s authenticity.
🔍 Public Receipt Verification
Verify a Receipt
Every generated receipt contains a QR code that links to a public verification page:
1Scan the QR code on the receipt with your phone or any QR scanner.
2You will be taken to a secure public page showing the receipt details (school, coordinator, students, amount, date, and status).
3The page confirms whether the payment is verified and approved by EDUTEK SMS.
This feature ensures total transparency – parents, auditors, or anyone with the receipt can independently verify its legitimacy.
💻 Code Club – Coding Platform
What is Code Club?
Code Club is a fully integrated coding platform where students learn programming through interactive lessons, Scratch projects, and level-based exams. It’s designed for primary and secondary schools to introduce students to computational thinking and coding skills.
1Enable Code Club: School Admin goes to Admin Dashboard → Schools and toggles “Code Club” ON for your school. This unlocks the coding module.
2Student Activities: Students access Code Club from their student dashboard. They watch lesson videos, complete Scratch projects, and take level exams (Level 1, 2, 3). Each level has a set of lessons and a final exam.
3Project Submissions: Students submit Scratch project URLs. Teachers (or school admins) can review and approve/reject submissions. Approved projects mark lessons as completed and award XP points.
4Level Promotion: When a student completes all lessons and passes the level exam, the admin can promote them to the next level. Promotions are managed from the school dashboard.
5Certificates: Students earn certificates upon completing each level or the entire program. Super Admins can preview and manage certificates from the admin dashboard.
6Coordinator Role: Each school is assigned an Edutek School Coordinator (by Super Admin). The coordinator is the contact person for the school regarding Code Club fees and support. School admins see the coordinator’s name, phone, and email on their dashboard.
💰 Fee Structure
Code Club has a transparent two‑tier fee structure:
•₦1,000 – Platform access fee per student per term (paid to Edutek via the coordinator).
•₦8,000 – Club running & certificate processing fee per student per term (paid through the school coordinator).
•Schools are encouraged to negotiate additional remuneration with their coordinator to motivate them.
💡 Spending Accountability: Coordinators use the Spending Accountability feature to record how the ₦8,000 per student is utilized – ensuring full transparency.
⚙️ System Settings (Super Admin & School Admin)
Global Settings (Super Admin)
•Platform name, logo, brand colour
•CAPTCHA type (math, Google, Turnstile, disabled)
•Security: max login attempts, lockout duration, session timeout
QScores not saving? Refresh page and re-enter; check required fields.
QGrades not calculating? Ensure weighting is set in System Settings.
QReport card missing student? Student must be enrolled in a class and have results entered.
🤖 AI Lesson Generator
Q“No credits” message? School admin must purchase AI credits.
QGeneration fails? Check internet connection; try again later.
QGenerated content not good? Edit manually or try a different topic.
💰 Payments & Fees
QPaystack payment not reflecting? Check transaction reference; manually verify in Paystack dashboard.
QHow to print receipt? After recording payment, click “Print Receipt”.
QCan parents pay online only for specific fee types? Yes, set “online payment” per fee structure.
📨 Messages & Notifications
QNo notification on new message? Check inbox manually; notification system is in‑app only (no email alert yet).
QCan students message each other? No, only admin/teacher/student communication.
💬 Automated Comments
QHow are comments generated? Teacher comments are based on academic performance + affective/psychomotor ratings. Principal comments are grade‑based.
QAre comments gender‑aware? Yes – the system uses the student’s gender (captured at creation) to use proper pronouns.
QCan I edit generated comments? Yes – comments are editable before saving.
📅 Attendance
QAttendance shows 4/4 instead of 4/80? Ensure you have set Term Resumption and Closing Dates in School Settings. The system counts weekdays only between these dates.
QWhy does attendance count sessions as one day? Nigerian school report cards report attendance by days, not sessions. This is the standard format.
QAttendance is showing “Not set” or “No attendance records”? The school admin needs to set the term dates and teachers need to mark attendance regularly.
📜 Historical Records
QCan I access report cards from previous terms? Yes – use the session and term filters on the Results Management or Report Card pages.
QWill the “Next Term Begins” date be correct for old report cards? Yes – it is now stored per term, so every term’s report card shows the correct date.
QHow long are records kept? Indefinitely – all results, comments, and attendance are retained in the database.
💻 Code Club
QHow do I enable Code Club? Super Admin toggles it ON per school from the admin dashboard.
QWhere do students access Code Club? From their student dashboard after login.
QWhat if a student’s project submission is pending? The school admin or teacher can approve or reject it from the school dashboard.
QWho is the coordinator for my school? Check the “School Info” card on your school dashboard – you’ll see a clickable toggle with the coordinator’s details.
QHow do I pay the Code Club fee? Contact your assigned Edutek School Coordinator (name, phone, email shown on dashboard).
🧾 Spending Accountability
QWhat is the Spending Accountability feature? It allows coordinators to record how the ₦8,000 per student per term is spent – for transparency and record‑keeping.
QDo I need approval for spending? No – the ₦8,000 belongs to the coordinator. This is a record‑keeping tool, not an approval system.
QCan I apply a spending record to all students? Yes – check the “Apply to all students” checkbox when adding a record.
QCan I see my spending summary? Yes – the Spending page shows a summary by term and school.
QCan Super Admins see my spending records? Yes – they have full visibility to ensure transparency.
🧾 Receipts & Verification
QHow do I download a receipt? From the school dashboard, go to Coordinator Payments and click “Download Receipt” next to any approved payment.
QCan I download all receipts at once? Yes – click “Download All Receipts (ZIP)” on the same page.
QHow do I verify a receipt? Scan the QR code on the receipt with any QR scanner – it takes you to a public verification page.
QIs the verification page public? Yes – anyone with the receipt can verify it, but it does not reveal sensitive personal data.
⚖️ Disputes
QHow do I file a dispute? From the school dashboard, go to Quick Actions → File a Dispute.
QWhat happens after I file a dispute? The Super Admin will review it and change the status (Investigating, Resolved, or Dismissed).
QCan I see the status of my dispute? Yes – the status is shown in the school dashboard’s Disputes section.