Back to Blog

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.

Avatar

How can we help?

We reply immediately

Hello! 👋 How can we help you today?