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.
π Running Your Code Club β Complete Playbook
From Setup to Certificate β A Step-by-Step Operational Guide
This playbook shows school admins exactly what to do, when to do it, and how to keep their Code Club running smoothly all term.
π Phase 1: Term Setup (Week 0 β Before Students Arrive)
1Verify Code Club is enabled for your school (ask your coordinator or Super Admin).
2Confirm the current term is set in Settings, and set your Term Resumption and Closing Dates.
3Collect the termly fees from students/parents:
β’ β¦1,000 platform access (unlocks Scratch, lessons, project submissions)
β’ β¦8,000 certificate fee (unlocks exams, club running, certificates)
4Send payments to your Edutek Coordinator (their contact is on your dashboard). The coordinator records the payment; it appears in your dashboard within minutes after approval.
5Confirm eligibility by opening Exam Access Codes β students who paid the certificate fee appear as eligible.
π Phase 2: Learning (Weeks 1β6)
β’Share login instructions with students (email + password, or admission number via CBT mode).
β’Set up Scratch β students get their Scratch accounts on first login. Teachers link the class studio.
β’Monitor weekly progress from the dashboard: who's stuck, who's submitted projects, who hasn't logged in.
β’Approve project submissions in the school dashboard β Pending Submissions. Fast approvals keep students motivated.
π Phase 3: Exams (Weeks 7β8)
1Get the exam access code from Exam Access Codes. Each exam has its own code.
2Share the code with eligible students only β use the WhatsApp share button or copy the invite message.
3Students take the exam β they must enter the code to start. Timer runs automatically.
4If a student has a genuine problem (crash, network, emergency), contact your coordinator to reset their session.
π Phase 4: Certificates (End of Term)
β’Confirm all certificate fees are paid for graduating students.
β’Download certificates from the school dashboard β Certificates.
β’Print and present them in your end-of-term assembly β celebrate the students!
β’Promote ready students to the next level from the dashboard.
π‘ Pro tip: Communicate with parents at the start of term, not the end. Send the fee breakdown early so nobody is caught off guard during exam week.
β Term-by-Term Checklist for School Admins
Term Start
βConfirm Code Club is enabled
βSet Term Resumption & Closing Dates
βInform parents of the fee breakdown
βSend fees to coordinator
βVerify student eligibility in Exam Access Codes
βShare login credentials with students
Mid Term
βReview students who haven't logged in
βApprove pending project submissions
βEncourage lagging students privately
βChase unpaid students (eligibility gap)
βNotify students of upcoming exam dates
Term End
βConfirm all fees paid
βShare exam codes with eligible students
βHandle exam retakes (via coordinator)
βDownload & print certificates
βPromote ready students to next level
βCelebrate wins in the school assembly
π’ 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.
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).
Jump to the AI Prompts Library below β copy-paste ready prompts by subject, plus rules for getting diagrams, tables, and IPA right on the first try.
π AI Prompts Library β Copy, Paste, Generate
Why prompts matter
Both AI features β AI Lesson Plans (teachers) and AI Question Generator (CBT) β respond to what you type. A clear prompt produces a ready-to-use result. A vague one produces something you'll spend 20 minutes fixing.
This library gives you copy-paste ready prompts organised by subject and by the special feature you want (diagrams, tables, phonics, LaTeX). Start with any prompt, edit the topic to match your lesson, and hit Generate.
60-second tour β from blank screen to fully-generated lesson plan and a fresh CBT question set. 00:58
π‘ Golden rule: mention the special feature you want explicitly. Saying "include a Venn diagram" or "use IPA symbols" tells the AI to use that tool β it won't guess.
π AI Lesson Plan Prompts (Teachers)
Open Lesson Notes β AI Generator. Pick your class and subject from the dropdowns, then paste the Topic and Additional instructions from any prompt below.
Photosynthesis lesson β from prompt to plan
Follow along as we type the Biology prompt, click Generate, and watch the AI draft objectives, steps, and a mermaid flowchart in one go.
Before / after β what used to take 25 minutes of typing now takes 40 seconds of prompt + edit. 02:10 total
πΉ Starter prompts β one per subject
π Mathematics Β· SS2
Topic: Quadratic Equations Additional: Include the quadratic formula, a worked example, and a flowchart showing when the discriminant gives real vs complex roots. Use dollar-sign LaTeX for all equations.
π English Language Β· Primary 4
Topic: Short Vowel Sounds Additional: Use IPA symbols inside slashes (/Γ¦/, /Ιͺ/, /Κ/) for every sound example. Include a two-set Venn comparing short /Ιͺ/ and long /iΛ/ words.
π§ͺ Basic Science Β· JSS2
Topic: The Water Cycle Additional: Include a mermaid flowchart showing evaporation β condensation β precipitation β collection. Add a table of the three states of water (solid / liquid / gas) with examples.
𧬠Biology · SS1
Topic: Classification of Living Things Additional: Include a three-set Venn diagram comparing Mammals / Birds / Reptiles with distinguishing features in each region. Use a table of kingdom characteristics as reference.
π Geography Β· SS2
Topic: The Nitrogen Cycle Additional: Include a mermaid cycle diagram. Use Nigerian farming examples (legumes, fertiliser use) where possible. Add a table showing the four stages and the bacteria involved.
π Further Mathematics Β· SS1
Topic: Introduction to Set Theory Additional: Include both a two-set Venn (example: Union and Intersection) and a three-set Venn with all 7 regions labelled. Add a table summarising the set notation symbols.
πΉ Feature-focused prompts β ask for one thing specifically
π Just phonics (IPA)
"Use IPA symbols inside slashes for every phoneme example in the lesson. Include a table of graphemes and their IPA equivalents."
π Just LaTeX
"Write every formula and equation in LaTeX using dollar signs: inline math like $x^2$ and display math like $$\frac{a}{b}$$ where it needs to stand out."
π Just a flowchart
"Include a mermaid flowchart showing the sequence of [process]. Keep it to 5β6 steps with short labels."
π΅ Two-set Venn
"Include a two-set Venn diagram comparing [X] and [Y]. List what's unique to each side and what's shared in the middle."
π΄ Three-set Venn
"Include a three-set Venn diagram classifying [items] into three groups. Fill all 7 regions β including the 3 pairwise overlaps and the shared middle."
π Just a table
"Compare the [items] in a table with columns for [Column 1], [Column 2], [Column 3]. Give a short example in each cell."
π‘ Copy-paste tip: the AI ignores pleasantries. Skip "Please can you help me..." and go straight to Topic + Additional instructions. Every extra sentence you add is one the model has to parse before it starts working.
π§ AI CBT Question Prompts (Teachers)
Open CBT β AI Generate. Set Source to AI (or leave it on Auto), then paste the Topic from any prompt below. Use 3β5 questions per run β larger batches risk truncation on long answers.
Quadratic equations β LaTeX rendered correctly
Four questions on quadratic equations with full $\frac{}{}$ fractions, $\sqrt{}$, and $\pm$ symbols. Every formula renders.
swap-in: /assets/demo/cbt-math.mp4 Β· β€ 5 MB
Short vowels β IPA rendered as plain text
The AI produces options with /Γ¦/ /Ιͺ/ /Κ/ /Ι/ inside slashes β the model is told not to wrap them in dollar signs, so they render clean.
swap-in: /assets/demo/cbt-phonics.mp4 Β· β€ 4 MB
Set theory β a live three-set Venn
Watch a three-set Venn diagram render inside a question, with all seven regions labelled. Mobile view included.
swap-in: /assets/demo/cbt-venn.mp4 Β· β€ 6 MB
Feature demo β one clip per special feature: LaTeX math, IPA phonics, and set-theory Venns. 02:30 total
πΉ Core subject prompts
π Mathematics β LaTeX-heavy
Topic: Quadratic equations with proper LaTeX for fractions, exponents, and the quadratic formula. Include one question on the discriminant.
π English / Phonics β IPA-heavy
Topic: Short vowel sounds. Each question asks which word contains a given IPA sound (/Γ¦/, /Ιͺ/, /Κ/, /Ι/). Put each sound inside slashes β do NOT wrap IPA in dollar signs.
π Set Theory β two-set Venn
Topic: Universal set, subsets, and complements. Include at least one question where a two-set Venn diagram comparing "Even numbers" and "Multiples of 3" clarifies the answer.
π Set Theory β three-set Venn
Topic: Set theory with three sets. Include questions where a three-set Venn classifying numbers into "Multiples of 2", "Multiples of 3", and "Multiples of 5" is the clearest way to show the answer.
π§ͺ Biology β process flowchart
Topic: Photosynthesis. Include a mermaid flowchart showing light β chlorophyll β glucose + oxygen. One question about the inputs and one about the outputs.
π Geography β cycle diagram
Topic: The water cycle. Include a mermaid cycle diagram showing evaporation, condensation, precipitation, and collection. Questions test both the sequence and the key terms.
π History β timeline
Topic: Nigerian history β from the 1914 amalgamation to 1960 independence. Include a timeline diagram of key milestones. Questions test the sequence and significance of events.
π¬ Chemistry β data table
Topic: Titration. Present the titration results in a table with columns "Trial", "Volume (cmΒ³)", and "Moles". Ask students to calculate the average volume used.
βοΈ Physics β Greek letters + LaTeX
Topic: Forces and friction. Use LaTeX for all equations, including Greek letters like $\mu$ for the coefficient of friction. Include one question with a worked calculation.
πΉ Stress-test prompts β mixed features
π§ͺ Everything at once β check the whole pipeline
Topic: Photosynthesis. Include the word equation in LaTeX, a mermaid flowchart of the process, and a two-set Venn comparing plants and animals. Also include one question with a table of inputs vs outputs. Use IPA for scientific terms like /Ι/ in "chlorophyll" where relevant.
π‘ If a diagram looks broken: open the Edit modal on that question, delete the diagram block, and either paste one of the templates from the Math & Content Editor section or leave it out. The rest of the question stays intact.
β¨ How to Write a Good Prompt β 6 Rules
Vague prompt vs specific prompt β side by side
Same AI, two prompts. One produces generic questions; the other produces a flowchart and a Venn. The only difference is what the teacher typed.
Same tool, different results β a 20-second side-by-side that shows why the extra sentence in your prompt pays off. 01:05
1Name the topic exactly.
β "Something about plants"
β "Photosynthesis in green plants"
2Say the level. Include the class (Primary 4, JSS2, SS1) and the exam body if relevant (BECE, WAEC, NECO). The AI adjusts vocabulary and depth accordingly.
3Request the special feature you want. The AI won't guess that you want a diagram unless you ask:
β’ "Include a two-set Venn diagram comparing X and Y."
β’ "Include a mermaid flowchart showing the process."
β’ "Use IPA symbols inside slashes for every phoneme."
β’ "Present the data in a table."
4Mention LaTeX explicitly for maths. "Use dollar signs for all equations" tells the model to write $x^2$ instead of "x squared". Without this, you may get plain text.
5Add Nigerian context if it matters. "Use Nigerian locations", "use Naira amounts", "reference WAEC past questions" β the AI will weave them in. Useful for culturally relevant examples.
6Be brief but specific. Two sentences of instruction beats ten sentences of setup. If your prompt is longer than the topic itself, you're over-explaining.
π‘ Test drive: Want to see what the AI can do without committing? Use a Source = Auto run with the "Everything at once" prompt above. It exercises LaTeX, IPA, a mermaid flowchart, a two-set Venn, and a table β all in one 4-question exam. Takes under 60 seconds and shows you the full feature set.
β οΈ Common Prompt Mistakes (and How to Fix Them)
Mistake
What goes wrong
Fix
"Generate 50 questions on everything"
Output gets truncated; last questions are cut off mid-sentence
Split into 3β4 smaller runs (5 questions each)
"Include a diagram"
AI guesses the type β could be a chart, a flowchart, or nothing useful
Say the type: "two-set Venn", "mermaid flowchart", "timeline"
Writing IPA without mentioning it
AI wraps IPA in $...$ β renders as garbled math
Say "do not wrap IPA in dollar signs"
Asking for a "comparison" without specifics
AI writes a paragraph β you wanted a Venn
Ask directly: "two-set Venn comparing X and Y"
Topic too broad ("Algebra")
Generic questions, low quality, won't match your lesson
Narrow it: "Solving linear equations with one unknown"
π‘ If the first run isn't great, don't rewrite from scratch β just click Generate again. The AI is non-deterministic, so the same prompt can produce a different (often better) result on the second attempt. Only rewrite the prompt if two runs in a row miss the mark.
π³ Subject-Specific Quick Recipes
Short templates you can adapt for any topic in that subject. Replace the bracketed parts.
Subject
Prompt template
Mathematics
"[Topic] with full LaTeX for all formulas. Include one worked example and one table of key values."
English / Phonics
"[Topic]. Use IPA symbols inside slashes for every phoneme. Do not wrap IPA in dollar signs."
Biology
"[Topic]. Include a mermaid flowchart of the process and a two-set Venn comparing [X] and [Y]."
Chemistry
"[Topic]. Present the data in a table with columns [A], [B], [C]. Use LaTeX for chemical equations."
Physics
"[Topic]. Use LaTeX for all formulas and Greek letters (\mu, \theta, \Delta). Include one calculation example."
Geography
"[Topic]. Include a mermaid cycle diagram. Use Nigerian examples where possible."
History
"[Topic]. Include a mermaid timeline of key events. Focus on Nigeria and West African context."
Economics
"[Topic]. Include a table of key metrics and a mermaid flowchart of cause and effect. Use Naira examples."
Literature-in-English
"[Topic]. Include a two-set Venn comparing [character A] and [character B]. Bold key themes with [b]...[/b]."
π‘ Save your best prompts. Keep a note on your phone with the ones that produced great output for your class. Editing a known-good prompt is faster than starting from scratch each term.
π Attendance & QR System
Student QR Attendance
1Each student gets ID card with unique QR code.
2Teacher opens Attendance β Scan QR Code.
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.
βοΈ Math & Content Editor β Write Rich Questions
Where You Can Use These Tools
Every question field in the CBT module accepts rich content β math formulas, bold text, italic emphasis, and full tables. The same tools also work in:
βQuestion text β the main question body
βOptions A, B, C, D β for objective exams
βModel answers β for subjective exams (teacher-facing)
Students see the rendered output on their exam page. Teachers see it in the question bank list, preview page, and grading page.
π‘ Live preview: as you type, the preview panel below the question textarea updates in real time. No need to save and reload to check your formatting.
1. The Math Toolbar β 90+ Symbols Across 9 Categories
When you open the "Add Question" or "Edit Question" modal, you'll see a toolbar above the question textarea. It's organized into tabs by category so you can find what you need without scrolling through hundreds of icons:
1Click inside the question textarea where you want the symbol.
2Click the category tab you want (e.g., Fractions).
3Click the symbol button (e.g., a/b).
4The LaTeX code is inserted and the live preview renders it instantly.
π‘ Every button has a plain-English name underneath it. Hover over any symbol to see what it's called (e.g., "Less or equal", "Square root", "Naira"). You don't need to know LaTeX to use this toolbar.
2. Inline vs Display Math β When to Use Which
Math renders in two modes. The difference is purely visual β inline math sits inside a sentence, display math stands alone on its own line.
Inline Math
Wrapped in $...$. Sits inside a sentence, same line height as text.
Example: "Solve $x^2 = 9$ for $x$."
Renders as: "Solve xΒ² = 9 for x."
Display Math
Wrapped in $$...$$. Centered on its own line, larger β good for big fractions or standalone equations.
Example:$$\frac{-b \pm \sqrt{b^2-4ac}}{2a}$$
Renders as: the full quadratic formula centered below.
Rule of Thumb
β’Use inline$...$ for variables (x, y, ΞΈ), short expressions, and anything inside a sentence.
β’Use display$$...$$ for standalone equations, large fractions, matrices, or when the formula is the main focus of the question.
β’The toolbar inserts the correct wrapper automatically β you rarely need to type the dollar signs by hand.
You can emphasise parts of a question without writing HTML. Two syntaxes work β pick whichever you prefer:
Option A β Square brackets (recommended)
[b]bold text[/b]
[i]italic text[/i]
[u]underlined text[/u]
Option B β HTML tags
<b>bold text</b>
<i>italic text</i>
<u>underlined text</u>
Quick way to add them
1Select the text you want to format (or leave nothing selected).
2Click B, I, or U in the toolbar (Formatting tab).
3The tags wrap around your selection, and the preview updates instantly.
π‘ When to use bold: key terms, the word "NOT" in negation questions, or to highlight what students should focus on. Avoid bolding entire questions β it loses impact.
4. Tables β Perfect for Data, Logs, and Comparisons
Tables are common in mathematics, sciences, and language questions (log tables, titration data, vocabulary lists). The editor uses a simple pipe syntax that renders as a proper table for students.
The 3-Line Rule
Every table needs at least three lines:
1Header row β the column titles, wrapped in | pipes.
2Separator row β dashes between pipes. This tells the system "the line above is a header".
3Data rows β one row per line, each value wrapped in | pipes.
This renders as a 2-column, 3-row table with a header row. Line 2 is the separator (must contain dashes).
Quick way to add a table
1Click inside the textarea where the table should go.
2Click the β¦ Table button in the Formatting tab.
3A template table appears. Replace the placeholder text with your data.
Common Mistakes
βWriting the table on one line: | Log | Nos | + data row β this won't render. Each row must be on its own line.
βSkipping the separator: the parser needs |-----| between header and data.
βMissing outer pipes: every row must start and end with |.
βColumn widths don't matter β |Log| and | Log | both work.
5. Worked Examples β Copy These Into Real Questions
Example 1 β Quadratic Equation (Mathematics)
Solve the following quadratic equation:
$$x^2 - 5x + 6 = 0$$
Options:
A. $x = 2$ and $x = 3$
B. $x = -2$ and $x = -3$
C. $x = 1$ and $x = 6$
D. $x = -1$ and $x = -6$
Correct: A
Example 2 β Chemistry Data Table
Study the titration results below and answer the question:
| Trial | Volume (cmΒ³) | Moles |
|-------|--------------|-------|
| 1 | 24.50 | 0.002 |
| 2 | 24.55 | 0.002 |
| 3 | 24.48 | 0.002 |
What is the average volume used?
Example 3 β Biology with Emphasis
Which of the following is [b]NOT[/b] a function of the
cell membrane?
A. Controls what enters and exits the cell
B. [i]Produces energy[/i] β this is the mitochondrion
C. Provides structural support
D. Allows cell-to-cell communication
Correct: B
Example 4 β Physics with Greek Letters
A block of mass $m$ is pulled along a rough
surface at constant velocity. If the applied
force is $F$ and the coefficient of friction is
$\mu$, which equation is correct?
A. $F = \mu m g$
B. $F = \dfrac{1}{2} \mu m g$
C. $F = \mu g$
D. $F = \dfrac{m g}{\mu}$
Correct: A
6. Safety β What the System Blocks for You
You can paste content from any source β Word, ChatGPT, an older question bank β without worrying about breaking the page or exposing students. The renderer is designed to be safe by default.
What's allowed
βMath: all LaTeX $...$ and $$...$$
βFormatting:<b>, <i>, <u>, <br>
βTables: pipe syntax with header row
βPlain text: accents, Naira symbol, Greek letters as Unicode
What's automatically stripped / shown as plain text
β<script> tags β shown as literal text
β<iframe>, <style>, <link> β stripped
βEvent handlers like onerror, onclick β stripped
βAny HTML tag outside the whitelist above
π‘ Why this matters: you can safely paste content from anywhere. If you accidentally paste a snippet with a hidden script tag inside, students will just see it as text β nothing runs, nothing breaks.
7. Troubleshooting β Common Issues
?My formula shows as raw text like $x^2$ instead of xΒ²
You may have forgotten the closing $. Every opening $ needs a matching closing $ on the same line (inline) or $$ on both sides (display).
?Bold/italic doesn't work
Make sure you have both the opening and closing tags: [b]text[/b], not just [b]text. And check you didn't accidentally mix syntaxes: [b]text</b> won't work β the tags must match.
?My table isn't rendering
Tables need at least 3 lines: header, separator (dashes), and one data row. If any line is missing, the parser treats the whole thing as plain text.
?The preview looks right but students see something different
The preview and the saved view use the same renderer, so this shouldn't happen. If it does, refresh the exam page β the student's browser may be caching an older version.
?Math is too small / too big on the exam page
Inline math matches body text size; display math is slightly larger. If you need a formula to stand out, use display mode $$...$$.
?A symbol I need isn't on the toolbar
Contact the Super Admin. The library is extensible β new symbols can be added in minutes without a code redeploy.
π‘ Golden rule: always check the live preview before saving. If the preview looks right, the saved question will look right for students too.
8. Quick Reference Cheat Sheet
What you want
What to type
Inline formula
$x^2 = 9$
Big centered formula
$$x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$$
Fraction
$\frac{1}{2}$
Square root
$\sqrt{x}$
Nth root
$\sqrt[3]{x}$
Power
$x^{2}$
Subscript
$x_{1}$
Greek letter
$\alpha$, $\beta$, $\theta$, $\pi$
Sum
$\sum_{i=1}^{n}$
Integral
$\int_{a}^{b}$
Less than or equal
$\leq$
Not equal
$\neq$
Degrees
$30^{\circ}$
Matrix
$\begin{pmatrix} a & b \\ c & d \end{pmatrix}$
Bold
[b]text[/b]
Italic
[i]text[/i]
Underline
[u]text[/u]
Table
3 lines: header, |-----|-----|, data
π° 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 β Two Fee Types
Coordinators record payments for one of two fee types. The system enforces the correct amount per tier:
π° Platform Fee
Fixed at β¦1,000 per student. The amount field is locked. Unlocks Scratch, lessons, project submissions.
π Certificate Fee
Minimum β¦8,000 per student. Quick-amount buttons for β¦8,000 / β¦10,000 / β¦15,000. Unlocks Certificate + Club Running + Examination.
How a Batch is Recorded
1Select School & Term: The coordinator picks the school, then the term, then chooses the fee type.
2Pick Students: Students are grouped by class with checkboxes. A live total updates as selections change. Quick buttons: Select All, Select Unpaid, Clear.
3Upload Receipts: One or more images/PDFs. The coordinator verifies the total matches before submitting.
4Submit: The batch is created with status pending, along with one row per selected student.
π‘ Coordinator ID 58 is special: this test/preview account can record payments without receipts and they're auto-approved. Real coordinators always go through the Super Admin review step.
β Super Admin β Approving & Managing Batches
Change Any Batch's Status β Any Time
The Super Admin can flip any batch between pending, approved, and rejected at any moment. There's no "lock" on the decision β you can revisit and correct mistakes freely.
The Three Buttons
β Approve
Batch moves to approved. Students marked paid. If it's a certificate batch, the school's Cert. + Exam flag turns ON.
β Reject
Batch moves to rejected. Students reverted to unpaid. The cert flag is recomputed β if this was the only cert batch, the school locks again.
β± Mark Pending
Reverts an approved or rejected batch back to pending β useful if you approved by mistake.
What Happens Automatically After Every Status Change
βStudent paid status is recomputed from scratch β the student is marked "paid" only if they appear in at least one approved batch.
βSchool certificate flag is recomputed from scratch β it turns ON only if the school has at least one approved certificate batch.
βAudit log entry is written recording the old status, new status, admin note, and how many students were affected.
π‘ Supervisor tip: If you accidentally approve a fake or duplicate batch, just Reject it β everything downstream reverts automatically. There's no manual cleanup needed.
Reading the Batch List
β’Green left border = certificate batch (unlocks exams when approved).
β’"Unlocks exams" badge = cert batch that hasn't yet been approved for this school.
β’"Exams already unlocked" badge = this school already has an approved cert batch, so this one is redundant.
β’Fraud Alert badge = total exceeds β¦100,000 β review carefully before approving.
π Student Capacity β How Slots Work
Every school has a slot limit
Each school has a club_student_capacity β the maximum number of active students that school can enrol. This prevents accidental overloading and keeps billing predictable.
Default & Overrides
β’Default: every new school starts with 500 slots.
β’Club-only registrations override this with the count the school entered during signup.
β’Coordinators can adjust capacity for their own schools from the coordinator dashboard β Manage Capacity.
β’Super Admins can adjust any school's capacity from the admin dashboard β Manage Capacity.
Rules
1Capacity cannot be set below the school's currently active student count.
2The school admin sees a live progress bar on their dashboard β purple normally, amber at 85%, red at 100%.
3Once a school hits capacity, new student creation is blocked. They must request a raise.
4Super Admin sees a "Near Capacity" tile on their dashboard listing schools at β₯ 90% β quick access to raise limits.
π‘ Why 500? It's a sensible default that gives new schools plenty of room to grow while making the limit visible. Adjustments are free and instant β no support ticket needed.
π 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.
β’Exam Sessions Monitor: View in-progress, submitted, and flagged exam sessions across your schools. Reset individual students for retakes when needed.
β’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
Certificate Fee β Spending Records
According to the Code Club policy, coordinators collect the certificate fee (β¦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 certificate fee 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 certificate fee 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. Each tier unlocks a different set of features:
β’β¦1,000 β Platform Fee (per student per term). Unlocks the Scratch account, lessons, and project submissions. Does NOT unlock exams.
β’β¦8,000 β Certificate Fee (per student per term). Unlocks Certificate + Club Running + Examination. This is the tier that opens the exam code entry.
π‘ How the two fees work together:
A student who has paid only β¦1,000 can use Scratch and submit projects, but cannot take exams.
A student who has paid β¦8,000 gets full access including exams.
Both fees require Super Admin approval. Until approval, the student sees "Awaiting Approval" on the exam page.
The system detects each student's exact payment state and shows a matching screen:
π Exams Locked
No payments on record. Prompts to contact coordinator.
β¬οΈ Certificate Fee Required
Platform paid, but no cert fee yet. Shows an upgrade prompt.
β³ Payment Received
Cert fee submitted, awaiting Super Admin approval.
β οΈ Payment Not Approved
Cert payment was rejected. Prompts to contact coordinator.
π Enter Exam Code
Cert approved β exam unlocked. Student enters the code to start.
π Exam Access Codes & Student Eligibility
How Exam Codes Work
1Super Admin creates the code β each exam has its own unique access code (e.g., LV1-A4F9C2).
2School Admin shares it β the code appears on Exam Access Codes with a one-tap WhatsApp share.
3Student enters the code on the exam page to unlock it. Timer starts when the correct code is entered.
4Code is reusable β same code works for every eligible student in your school. No need to generate per-student codes.
5Regenerate anytime β if a code leaks, ask Super Admin to regenerate it in 1 click.
6Reset clears the code β when a student is reset for a retake, they must enter the code again to unlock the exam.
Student Eligibility β The Rule
A student is eligible to take exams when either of these is true:
βTheir personal certificate fee is approved β the coordinator recorded β¦8,000 for them and the Super Admin approved it.
βOR the school's "Cert. + Exam" flag is ON β the Super Admin toggled the school-wide override. Everyone in the school is eligible.
What's not eligible:
βStudent paid only the β¦1,000 platform fee β exams locked
βCert fee is still pending (coordinator submitted, waiting for Super Admin) β student sees "Awaiting Approval"
βCert payment was rejected β student sees "Payment Not Approved"
βStudent paid nothing at all β student sees "Exams Locked"
π‘ Your school's Exam Access Codes page shows both lists: eligible students (green) and not-eligible students (red) β so you know exactly who to chase before exam day.
Exam Integrity & Anti-Cheat
βResume anytime β refresh, crash, or network drop? Your timer and answers are preserved server-side. Come back later and pick up where you left off.
β60-second grace β submit slightly late? Answers are still accepted.
βBack-button safe β you'll get a warning but won't lose work.
βOnly one tab can submit β the session is bound to a single browser tab, preventing accidental double-submits from multiple windows.
βReset requires Super Admin β a student can't reset their own session to farm extra attempts.
β FAQ & Troubleshooting
Frequently Asked Questions
General
?Do I need to install anything? No. EDUTEK SMS is fully web-based. Any device with a browser (phone, tablet, laptop) works.
?Is my data backed up? Yes β all data is stored in a managed MySQL database with daily backups. Historical records are preserved indefinitely.
?Can parents access the platform? Yes β parent accounts can be created and linked to one or more students to view results, attendance, and fee status.
AI Features
?Why did the AI ignore my instruction? The model responds to specific requests. "Include a two-set Venn" works; "make it visual" doesn't. See the AI Prompts Library above.
?Do unused credits expire? No β credits stay on your school account until used.
?What if the AI generates a broken diagram? Open the Edit modal, remove or replace the diagram block. The rest of the question is unaffected.
CBT Exams
?A student lost connection mid-exam β what happens? Their session is preserved. When they log back in, the timer continues from where it was and their answers are intact.
?Can a student take an exam twice? Only if the exam's "allowed attempts" setting permits it, or if a Super Admin resets their session.
?Why is my CBT score showing differently from the raw score? Because "Auto CBT Score" scales the CBT portion to 30 marks before adding Theory. See the CBT section above.
Payments
?How long does approval take? Usually minutes β coordinators review and Super Admins approve within the same working day.
?Can I get a refund? Contact your coordinator. Disputes can be filed from the school dashboard.
π‘ Still stuck? Use the Contact page or reach your assigned coordinator directly from your dashboard.