Skip to content

Nubet/istqb-tester-app

Repository files navigation

ISTQB Tester banner

Mobile app for preparing to the ISTQB CTFL exam.

App combines a chapter-based learning flow, exam simulation, a searchable glossary, and progress tracking that updates as you practice.

What you get

  • Learning mode by chapter
    Study questions and see explanations.
  • Exam mode
    40 questions, 60-minute timer, 65% pass threshold, question flagging, and quick navigation.
  • Results and review flow
    See score, pass/fail status, and review each question with correct answers.
  • Bookmarks
    Save questions for later and revisit them in a dedicated screen.
  • Glossary
    Search ISTQB terms and definitions from local data.
  • Adaptive reading preferences
    Adjust text and spacing density for question-heavy screens.

Progress tracking

The app tracks progress in two layers:

  • Global progress: mastered questions across the whole question base (used on Home).
  • Chapter progress data: mastered questions grouped by chapter/category

"Mastered" means a question answered correctly at least once.

Tech stack

  • Framework: Expo + React Native + Expo Router
  • Language: TypeScript
  • Local database: expo-sqlite (questions and glossary)

Project structure

  • app/ - screens and navigation routes
  • hooks/ - screen logic and state hooks
  • services/ - use cases and domain services
  • repositories/ - data access and persistence adapters
  • infra/ - database and storage infrastructure
  • data/ - bundled question and glossary source files
  • ui/ - shared UI components

Quick start

Requirements

  • Bun >=1.1
  • Expo Go app on your phone (Android/iOS)
  • Internet connection on both computer and phone

1) Install dependencies

bun install

2) Start dev server

bun run start

Then:

  • open Expo Go on your phone,
  • scan the QR code from terminal,
  • launch the app.

Tunnel Mode (--tunnel)

Use Tunnel Mode when your phone and computer are on different networks, office Wi-Fi blocks local LAN discovery, or the QR connection fails.

Prerequisites

Before using tunnel mode, ensure ngrok is installed and configured with your authtoken:

ngrok config add-authtoken <YOUR_TOKEN>

Official documentation: ngrok.com/docs

Usage

Run the following command in your terminal:

bun expo start --tunnel

Notes

  • Initial Setup: The first launch may take longer than usual.
  • Troubleshooting: If the tunnel connection fails, restart the process and try again.

Troubleshooting

  • No QR code / Expo Go cannot connect

    • stop server (Ctrl+C) and restart,
    • switch to tunnel mode (bunx expo start --tunnel),
    • confirm both devices have internet access.
  • Dependency issues after copying/moving project

    • remove node_modules,
    • run bun install again.

Data and persistence

  • On first app launch, local SQLite is initialized and seeded from:
    • data/questions.normalized.json
    • data/glosariusz.json
  • Exam session and user progress are persisted locally, so progress survives app restarts.

Notes

  • The app is currently localized for Polish content/UI.

Screenshots

Screen Preview Caption
Home Home screen Your ISTQB preparation starts here, with progress, practice, glossary, and review tools in one place.
Learning mode Learning mode Choose a chapter and practice exactly the topics you want to improve.
Question practice Question practice Answer exam questions and access detailed explanations to verify your knowledge
Flashcards list Flashcards list Browse compact flashcard sets and revise key concepts quickly.
Flashcard front Flashcard front Flip through essential terms in a clean, distraction-free format.
Flashcard explanation Flashcard explanation Swipe with your finger

About

Mobile app for preparing to the ISTQB CTFL exam.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages