Quis TNI — CBT Practice Tests & Psych Exams for Indonesian Military Selection
Quis TNI is a CBT (computer-based test) app that helps candidates prepare for Indonesian military (TNI) entrance selection. It holds psych-test question banks (verbal analogies, odd-one-out, word problems) and academic ones (general knowledge, arithmetic, military reasoning) in two modes: code-based exam quizzes and self-practice. Admins compose question banks with multiple choice and supporting images, then share quiz codes with participants. Participants sign in, enter a class code, work through timed questions, and get instant results — correct, wrong, and unanswered counts — saved to their history. Admins can view score recaps of all participants per quiz. Built with Flutter (BLoC pattern) and Firebase: email/password auth, Cloud Firestore for questions & scores, and Firebase Storage for question images.
- Platform
- Android
- Year
- 2026
- Industry
- EdTech / Military Selection Prep
- Role
- Full-cycle: architecture, Flutter app (admin & participant), BLoC state management, Firebase backend
App screenshots
Click an image to zoom — swipe left/right to browse.
Key features
Two modes: Quiz & Practice
Quiz mode (official code-based exams with score recaps) and self-practice mode — each with its own admin-managed question bank.
Code-based quiz access
Participants just enter the 'Quiz Code' / class code shared by the admin to start — no need to be added one by one.
Timed questions
Every quiz runs against a timer so participants get used to time pressure like the real selection exam.
Multiple choice + images
A–D multiple-choice questions with supporting images uploaded by admins to Firebase Storage — ideal for visual psych-test questions.
Automatic scoring
On submission the system counts correct, wrong, and unanswered questions and saves the result as the participant's score.
Participant score history
Participants can review their score history for every quiz taken to track their practice progress.
Question bank management (admin)
Admins create, edit, and delete quizzes and their questions — including answer keys and quiz codes.
Score recap per quiz
Admins see every participant's score per quiz (name, class code, correct/wrong/unanswered, completion time) for evaluation.
Auth & profiles
Email/password registration and login, profile page, profile editing, and password change for every user.
Technical highlights
The advanced parts behind the scenes that make this system run smoothly.
- Code-based quiz distribution: admins share a class code and participants access the right quiz instantly with no manual per-participant enrollment.
- Timed test-taking with a dedicated timer widget and an 'already answered' check to prevent taking the same quiz twice.
- Automatic scoring (correct / wrong / unanswered) computed on submit and stored in Cloud Firestore, then recapped by admins per quiz.
- Question images uploaded to Firebase Storage via file_picker, supporting psych-test questions that need visual stimuli.
- Clean state management with BLoC (flutter_bloc) for login state, auth sessions, and user data.
- Admin & participant role separation in one Flutter codebase, with different homes and menus per role.
Tech stack
Want an app like this for your business?
We've built systems like Quis TNI from scratch all the way to production. Tell us what you need — the initial consultation is free, no strings attached.

