Documentation
Technical reference for CircuitQuEEst — architecture, content model, build instructions, and the full topic list.
Overview
CircuitQuEEst is a single-activity Android application built entirely with Kotlin and Jetpack Compose. It teaches Electrical Engineering fundamentals through 42 sequential topics, each consisting of a scrollable lesson and a 7-question quiz.
- Language: 100% Kotlin
- UI: Jetpack Compose + Material 3
- Architecture: MVVM (ViewModel + Repository pattern)
- Storage: Room database (offline-first, SQLite)
- Navigation: Jetpack Navigation Compose
- Build system: Gradle Kotlin DSL + version catalog
- Min SDK: 26 (Android 8.0 Oreo) / Target SDK: 35
Architecture
Layer overview
Navigation
A single NavGraph.kt defines all routes using Jetpack Navigation Compose. The repository is injected at the NavGraph level and passed into ViewModel factories.
| Route | Screen |
|---|---|
home | HomeScreen — category list + search |
lesson/{topicId} | LessonScreen — scrollable lesson sections |
quiz/{topicId} | QuizScreen — 7-question quiz |
result/{topicId}/{score}/{total} | ResultScreen — score + XP summary |
Content model
All 42 topics are defined as Kotlin singleton objects in data/content/. Each file exposes a single Topic object:
data class Topic(
val id: String, // e.g. "ohms_law"
val title: String,
val subtitle: String,
val icon: String, // emoji
val order: Int, // global sort order (1–42)
val lesson: Lesson,
val quiz: Quiz
)
data class Lesson(val title: String, val sections: List<LessonSection>)
data class LessonSection(val heading: String, val content: String,
val formula: String? = null, val keyPoint: String? = null)
data class Quiz(val title: String, val questions: List<Question>)
sealed class Question {
data class MultipleChoice(val options: List<String>, val correctIndex: Int, ...) : Question()
data class NumericInput(val correctAnswer: Double, val tolerance: Double, ...) : Question()
}
Categories are a pure UI concern defined in TopicCategories.kt. No Topic data class field was needed — the mapping is a separate object that the ViewModel joins at runtime.
Progress system
XP is awarded as follows:
- +50 XP — completing a lesson (first time)
- +score × 10 XP — for each quiz attempt
- +100 XP bonus — for the first quiz completion on a topic
Sequential unlock: completing a topic's quiz sets TopicProgress.quizCompleted = true, which unlocks the next topic in global order sequence. This logic lives in HomeViewModel and is unaffected by category groupings.
Build Instructions
Requirements
- JDK 17 (Adoptium Temurin recommended)
- Android SDK — platform 35, build-tools 35.0.0
- Gradle Wrapper 8.11.1 (included in repo)
- Android Gradle Plugin 8.7.3
- Kotlin 2.0.21
Build steps
# Clone the repository
git clone https://github.com/HighviewOne/CircuitQueest.git
cd CircuitQueest
# Build debug APK
./gradlew assembleDebug
# Output location
# app/build/outputs/apk/debug/app-debug.apk (~10 MB)
If your environment variables aren't set:
JAVA_HOME=/path/to/jdk-17 \
ANDROID_HOME=/path/to/android-sdk \
./gradlew assembleDebug
Install directly to a connected device:
./gradlew installDebug
All 42 Topics
Topics are organized into 9 categories on the HomeScreen. Global unlock order follows the numeric sequence below.
Circuit Fundamentals
(6 topics)| # | Topic | Key concepts |
|---|---|---|
| 1 | Ohm's Law | V=IR, power calculations, basic circuit analysis |
| 2 | Series & Parallel Circuits | Resistance combinations, voltage/current division |
| 3 | Kirchhoff's Laws | KCL, KVL, node and loop analysis |
| 4 | Capacitors & Inductors | C=Q/V, V=LdI/dt, RC/RL time constants |
| 5 | AC Circuits | RMS values, reactance, impedance, RLC resonance |
| 7 | Thevenin & Norton | Equivalent circuits, source transformation, max power |
Semiconductor Devices
(4 topics)| # | Topic | Key concepts |
|---|---|---|
| 8 | Diodes & Rectifiers | PN junctions, Zener, half/full-wave, LEDs |
| 9 | Transistors (BJTs) | NPN/PNP, beta, operating regions, switching |
| 11 | MOSFETs | NMOS/PMOS, threshold voltage, triode/saturation, CMOS |
| 20 | Semiconductor Physics | Band theory, doping, drift/diffusion, carrier transport |
Analog Design
(4 topics)| # | Topic | Key concepts |
|---|---|---|
| 6 | Op-Amps | Inverting/non-inverting gain, voltage follower, summing amp |
| 12 | Filters | Low/high/band-pass, cutoff frequency, roll-off, active filters |
| 32 | Analog Circuit Design | Current mirrors, diff pairs, feedback, bandgap, cascode |
| 38 | Audio Electronics | Amplifier classes, DACs, speakers, headphone amp design |
Digital Systems
(4 topics)| # | Topic | Key concepts |
|---|---|---|
| 10 | Digital Logic Gates | AND/OR/NOT/NAND/NOR/XOR, Boolean algebra, Karnaugh maps |
| 21 | Digital Systems | Flip-flops, counters, finite state machines, memory |
| 28 | VLSI Design | CMOS fabrication, RTL-to-GDSII, DRC/LVS, timing, power |
| 42 | Machine Learning Hardware | GPUs, TPUs, quantization, inference engines, edge AI |
Signals & Control
(3 topics)| # | Topic | Key concepts |
|---|---|---|
| 14 | Signals & Systems | Fourier/Laplace transforms, transfer functions, Bode plots |
| 16 | Control Systems | Feedback loops, PID controllers, stability, gain/phase margins |
| 35 | Digital Signal Processing | Sampling theorem, FFT, FIR/IIR filters, quantization noise |
Power & Energy
(6 topics)| # | Topic | Key concepts |
|---|---|---|
| 13 | Transformers | Turns ratio, impedance matching, efficiency, losses |
| 15 | Power Electronics | Linear regulators, LDOs, buck/boost converters, PWM |
| 25 | Power Systems | Three-phase power, transmission, power factor, protection |
| 33 | Renewable Energy | Solar cells, MPPT, wind turbines, grid-tie inverters |
| 37 | Electric Vehicles | Powertrains, inverters, regenerative braking, charging |
| 30 | Battery & Energy Storage | Li-ion chemistry, C-rate, CC-CV charging, BMS, supercaps |
RF & Communications
(7 topics)| # | Topic | Key concepts |
|---|---|---|
| 19 | Electromagnetics | E/B fields, Faraday's law, Maxwell's equations, EM waves |
| 17 | Transmission Lines | Characteristic impedance, reflections, VSWR, Smith chart |
| 18 | Communication Systems | AM/FM modulation, SNR, Nyquist theorem, QAM |
| 27 | Antenna Design | Radiation patterns, gain, dipole/patch/dish, link budgets |
| 31 | RF Circuit Design | S-parameters, LNA design, oscillators, mixers, matching |
| 36 | Fiber Optics & Photonics | Optical fiber, lasers, photodetectors, WDM systems |
| 40 | Radar Systems | Pulse radar, Doppler effect, phased arrays, automotive radar |
Hardware & Embedded
(5 topics)| # | Topic | Key concepts |
|---|---|---|
| 23 | PCB Design | Layer stackup, trace routing, decoupling, ground planes, Gerbers |
| 24 | Embedded Systems | MCU peripherals, GPIO, ADC/DAC, UART/SPI/I2C protocols |
| 26 | Sensors & Measurement | Temperature sensors, Wheatstone bridge, instrumentation amps |
| 29 | Signal Integrity & EMC | Crosstalk, ground bounce, EMI shielding, differential signaling |
| 34 | IoT & Wireless | Wi-Fi/BLE/LoRa/Zigbee, mesh networking, low-power design |
Specialized Applications
(3 topics)| # | Topic | Key concepts |
|---|---|---|
| 22 | Electric Machines | DC/AC/stepper motors, torque-speed curves, drives |
| 39 | MEMS | Accelerometers, gyroscopes, pressure sensors, microfabrication |
| 41 | Biomedical Electronics | ECG/EEG signal acquisition, pacemakers, patient safety |