🏫
School Portal
Examination Results Management System
Staff Login
Admin
School Portal
Results System
Demo Mode
Overview
📊 Dashboard
Records
👥 Students
✏️ Enter Marks
Reports
📄 Report Cards
🏆 Merit List
Manage
🏛️ Classes
📚 Subjects
📝 Exams
👤 Teachers
System
⚙️ Settings
Not signed in
Sign Out
⚠️ DEMO MODE ACTIVE: Firebase config not set. All data is stored locally in this browser only — it will be lost if you clear browser data. Configure Firebase →
Dashboard
👤 Admin
👥
Total Students
0
enrolled
📝
Active Exams
0
this term
✅
Marks Records
0
recorded
🏫
Classes
0
registered
Grade Distribution
Recent Activity
No recent activity.
Quick Start: Go to Manage → Classes → Subjects → Exams → Teachers → Students → Enter Marks in that order.
Students
Adm#NameClassLevelGenderFee BalanceActions
Enter Marks
⚠️ Live Update: Another user just saved a score for a cell you are currently editing. All other cells have been updated live. Your value for this cell will take precedence when you click Save All.
#Student NameScore (0–100)Grade
Generate Report Cards
Print tip: Set orientation to Portrait, paper A4, margins Minimum. Chrome gives the best output.
Merit List
Classes
Class NameLevelStreamSubjectsActions
Subjects
NameShort CodeLevelLearning AreaActions
Exams
NameTermYearLevelClassesStatusActions
Teachers & Staff
NameRoleClass Teacher OfActions
🏫 School
📊 Grades
📅 Terms
💬 Comments
🔧 System
School Information
Primary Grades
Junior Grades
Term & Year Settings
Auto-Comment Templates

Use {name} for student name and {grade} for grade label. One template per grade short code.

Firebase Configuration

Go to Firebase Console → Project Settings → Your Apps → copy the firebaseConfig object and paste it below. You can paste the raw { ... } object or the full const firebaseConfig = { ... } block — both work.

Admin Password
Backup & Restore
Danger Zone
⚠️ Security Notice: This system uses browser-based authentication, suitable for internal school networks. Do not share your URL publicly without adding Cloudflare Access protection. Student data is protected under the Kenya Data Protection Act 2019.
Clear All Data removes only localStorage data in this browser. Firestore cloud data is NOT cleared. Always export a backup first.
Add Student

⚠️ Resize photos to under 200KB before uploading to avoid Firestore document size limits.

Add Class
Add Subject
Add Exam
Add Staff
Import Students from Excel
Excel must have columns: Name (required), Fee Balance (optional). Column order doesn't matter.
Import Marks from Excel
Rows = students, columns = subjects. First column must be Name. Subject column headers must match subject names (case-insensitive).
Confirm