Jostar.id
Portfolio
Mobile App · 2026

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.

Welcome — Psych Quiz, the gateway to TNI selection prep
Login — email/password & participant registration
Quiz list (admin) — question banks with codes & question counts, add/edit/delete
Quiz detail — multiple-choice questions with answer keys
Add Quiz — compose questions, answer keys & supporting images
Practice question banks — Psych, Military, Analogy, Arithmetic & Reasoning
Score list (admin) — correct/wrong/unanswered recap per participant per quiz

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

FlutterDartflutter_bloc (BLoC)Firebase AuthCloud FirestoreFirebase Storagefile_pickergoogle_fontsintlurl_launcherhexcolor

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.