Back to projects

CBT

An Android computer-based test built with Flutter and Cloud Firestore.

Android
Download the app

CBT is a Flutter application for Android and a unified academic assessment portal. Role-based access covers administrators, teachers, and students. Firebase Authentication signs people in, and Cloud Firestore syncs exams, sessions, and scores in real time. BLoC and Cubit keep business logic apart from the interface. go_router redirects each route from the authentication status and the user's role. shared_preferences stores local answer drafts, connectivity_plus watches the network, and the app logs switches during an exam.

Key capabilities

  • Create, edit, and deactivate teacher and student accounts
  • Review total users, role distribution, and account activity
  • Separate an account without deleting exam history
  • Create exam drafts, set the active schedule and duration, and shuffle questions
  • Reserve a six-character access code that Firestore encrypts and verifies
  • Keep multiple-choice questions with a score weight, an answer key, and an explanation, plus essays, and import questions into an exam
  • Monitor who is taking an exam, the time remaining, and app-switch logs
  • Force-submit a session when a student breaks the exam rules
  • Grade essays with a manual score and evaluation notes
  • Export student score recaps as CSV
  • Join after the access code, schedule, and attempt quota are checked
  • Answer multiple-choice and essay questions with quick navigation, a doubt mark, and answer status
  • Save each answer locally so a power loss or disconnect does not drop it
  • See the multiple-choice score immediately, and see when essay answers are still under review

Project contributors

Technology stack

  • FlutterSDK 3.44
  • DartSDK ^3.11.0
  • Firebase Auth6.5.2
  • Cloud Firestore6.5.0