CBT software for schools in Nigeria
CBT software for schools in Nigeria allows schools, universities, training centres and examination providers to conduct tests digitally instead of relying entirely on paper-based examinations.
A good CBT system should do more than display questions. It should help administrators create examinations, manage students, control timing, mark objective questions automatically and generate useful results.
If the software also needs existing JAMB, WAEC, NECO or Post-UTME questions, an examination-data API such as SdashAPI can provide the question-data layer.
What should CBT software include?
The exact features depend on the school, but a practical system should normally support:
- Student accounts
- Course or subject selection
- Examination scheduling
- Question management
- Timed examinations
- Randomised questions
- Previous and Next navigation
- Automatic submission
- Automatic objective-question marking
- Result generation
- Examination history
- Administrative dashboard
Schools may also need different access levels for students, lecturers and administrators.
A simple CBT architecture
A school CBT platform can be structured like this:
Students
↓
CBT Website / Application
↓
Backend
↓
Database
The database can contain:
Students
Courses
Examinations
Questions
Attempts
Answers
Results
If external examination questions are also required:
CBT Platform
↓
Your Backend
↓
Exam Question API
This keeps your school's own examination data separate from external past-question content.
Build a proper examination dashboard
An administrator should be able to create an examination without changing code.
For example:
Create Examination
Course: BIO 101
Questions: 50
Duration: 45 Minutes
Start Time: 10:00 AM
End Time: 11:00 AM
Attempts: 1
The administrator can then assign questions or select them from the school's question bank.
For larger systems, lecturers can be given access only to courses they manage.
Randomise questions where necessary
If 200 students are writing the same examination in one hall, showing every student exactly the same questions in exactly the same order may not be ideal.
Your CBT software can select questions from a larger pool.
For example:
Question Bank: 150 questions
Each Student Receives: 50
You can also shuffle the option order where appropriate.
However, your system should preserve the correct-answer mapping after shuffling.
Save answers continuously
Don't wait until the student presses Submit before saving everything.
A student's selected answers can be saved periodically:
{
"exam_id": 482,
"question_id": 7821,
"selected_answer": "c"
}
If the browser refreshes or the network briefly fails, the student's entire examination should not automatically disappear.
This becomes particularly important when deploying CBT systems in environments where connectivity may not always be stable.
The timer should be controlled properly
Your examination timer should not depend entirely on the student's device.
The server should know:
Exam Start Time
Exam Duration
Expected End Time
If the student refreshes the page, the timer should continue from the correct remaining time rather than restarting.
When time expires, the examination can be submitted automatically.
Automatic marking
Objective examinations can be marked immediately.
For example:
Questions: 50
Correct: 39
Incorrect: 11
Score: 78%
Depending on the examination, results can either be shown immediately or kept hidden until an administrator releases them.
Schools may also want:
Highest Score
Lowest Score
Average Score
Pass Rate
Performance by Question
Performance by Topic
These statistics can help lecturers identify questions or topics students found difficult.
Building a past-question section
School CBT software can also include a separate practice area.
For example:
Practice
JAMB / UTME
WAEC / WASSCE
NECO
Post-UTME
School Past Questions
You don't necessarily have to manually build all these external question databases yourself.
SdashAPI provides structured examination data for developers building CBT and exam-preparation products.
Your school's own questions remain in your database, while supported external examination questions can come from the API.
Using SdashAPI with your CBT software
The architecture could be:
Student
↓
School CBT Platform
↓
Your Backend
↓
SdashAPI
↓
Exam Question Data
Your application can then use structured questions for practice sessions, mock examinations or revision.
You can check currently available examinations, subjects and years through SdashAPI Coverage.
Test with 2,000 free credits
Developers building CBT software can start with 2,000 free SdashAPI credits for development and testing.
This can be useful for testing:
- JAMB questions
- WASSCE questions
- NECO questions
- Subject filters
- Year filters
- Answers
- Explanations
- Images and diagrams
- Passages
- Question rendering
You can create an account through SdashAPI and use the SdashAPI Documentation while integrating.
You don't need to choose a production plan just to begin developing the integration.
Development and production should be separate
During development:
Development API Key
↓
Build
↓
Test
When the CBT software is ready for real students:
Production API Key
↓
Your Backend
↓
Live CBT Platform
Production options can be reviewed through SdashAPI Pricing.
Online or offline CBT?
This depends heavily on where the software will be used.
An online system is easier to centrally update and manage.
An offline or local-network system can be useful where internet reliability is a concern.
Some schools may use a hybrid approach:
Central Server
↓
School Local Network
↓
Computer Lab
Students can take the examination over the school's local network while internet-dependent operations are handled separately.
If you're using third-party examination data, make sure your API or dataset arrangement permits the type of caching or offline storage your implementation requires.
Security matters
A school examination system should not expose correct answers unnecessarily before submission.
For important examinations, consider grading on the backend.
Also protect:
- Administrator accounts
- Lecturer accounts
- Examination questions
- Student records
- Results
- API credentials
Production API keys should generally remain on your backend rather than being embedded directly into public frontend applications.
Test before using it for a real examination
Before 500 students enter a CBT hall, test the system under realistic conditions.
Check:
- Multiple simultaneous users
- Slow computers
- Network interruptions
- Browser refreshes
- Timer behaviour
- Automatic submission
- Question images
- Long questions
- Student login
- Result calculation
A system working perfectly for one developer on a laptop does not automatically mean it is ready for hundreds of students.
Start simple
A practical first version of CBT software can follow this path:
Student Login
↓
Select Examination
↓
Load Questions
↓
Start Timer
↓
Answer Questions
↓
Submit
↓
Automatic Marking
↓
Result
Once this works reliably, you can add analytics, practice modes, subscriptions, school dashboards, question imports and external examination banks.
For developers who need JAMB, WASSCE, NECO or Post-UTME data, SdashAPI can handle that part of the infrastructure. You can start with 2,000 free development credits, review available data on SdashAPI Coverage, and move to a suitable production option when the software is ready.
Good CBT software for schools in Nigeria should ultimately make examinations easier to administer without making them harder for students to take. Reliability, simple navigation, secure question handling and accurate results matter more than filling the system with unnecessary features.