Educational app for maturita exam preparation
  • Swift 48.7%
  • Kotlin 42.6%
  • Python 5.2%
  • Shell 2.6%
  • HTML 0.4%
  • Other 0.5%
Find a file
pepaskopec-blip 2cb3565df5 Fix path layout and Czech stats, and rewrite the install docs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 16:02:59 +02:00
.github/workflows Publish builds to a branch instead of to releases. 2026-09-17 15:40:47 +02:00
assets Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
installers Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
scripts Fix broken macOS release bundle missing GTK libraries. 2026-09-16 16:30:23 +02:00
share Make the app icon work on macOS, Windows, and Linux. 2026-09-15 14:44:45 +02:00
.gitattributes Windows build 2/2? 2026-09-10 09:57:12 +02:00
.gitignore Add installers that fetch the newest release when run. 2026-09-17 15:16:46 +02:00
build-windows.bat Make the app icon work on macOS, Windows, and Linux. 2026-09-15 14:44:45 +02:00
cetba.c Rework the interface into a consistent visual system. 2026-09-17 14:17:34 +02:00
CMakeLists.txt Publish builds to a branch instead of to releases. 2026-09-17 15:40:47 +02:00
czech.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
exercise_common.c Rework the interface into a consistent visual system. 2026-09-17 14:17:34 +02:00
exercise_u1.c Improve multiple-choice quiz layout with cards and clearer states. 2026-09-14 15:32:52 +02:00
exercise_u2.c Unit 2 Vocabulary 2026-09-14 08:24:16 +02:00
exercise_u3.c Unit 3 Vocabulary 2026-09-14 08:33:33 +02:00
globals.c UI resizing tweaks 2026-09-11 21:50:54 +02:00
hw.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
i18n.c Publish builds to a branch instead of to releases. 2026-09-17 15:40:47 +02:00
icons.c Literatura - Ladislav Fuks - Spalovac Mrtvol - Maturitni cetba 2026-09-14 15:58:47 +02:00
LICENSE Initial commit 2026-09-03 10:53:24 +02:00
macos_dock.c Show the app icon on the macOS Dock via AppKit. 2026-09-15 12:53:14 +02:00
main.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
Makefile Publish builds to a branch instead of to releases. 2026-09-17 15:40:47 +02:00
maturita.h Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
maturita.rc Make the app icon work on macOS, Windows, and Linux. 2026-09-15 14:44:45 +02:00
mluvnice.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
navigation.c Rework the interface into a consistent visual system. 2026-09-17 14:17:34 +02:00
net.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
progress.c Make the learning path show one next step and a real finish flag. 2026-09-17 15:22:35 +02:00
README.md Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
roadmap.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
run-windows.bat Windows build 2/2? 2026-09-10 09:57:12 +02:00
settings.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
stats.c Fix path layout and Czech stats, and rewrite the install docs. 2026-09-17 16:02:59 +02:00
style.css Add a self-updater that installs new releases. 2026-09-17 15:04:55 +02:00
subjects.c Rework the interface into a consistent visual system. 2026-09-17 14:17:34 +02:00
theme.c Fix Linux CI build on Ubuntu 22.04 GTK 4.6. 2026-09-16 12:30:44 +02:00
unitmap.c Rearranged the Mluvnice exercises to a roadmap as is Deutsch and other subjects 2026-09-15 12:45:36 +02:00
update.c Publish builds to a branch instead of to releases. 2026-09-17 15:40:47 +02:00
util.c Add a self-updater that installs new releases. 2026-09-17 15:04:55 +02:00

maturita.c

Vzdělávací GTK 4 aplikace k přípravě na maturitu. / An educational GTK 4 app for the Czech maturita exam.

Česky · English


Česky

Rozhraní je v češtině a angličtině. Hotové jsou čtyři předměty; ostatní jsou zatím zamčené placeholdery. Aplikace se po instalaci aktualizuje sama.

Úvod Předměty Německá cesta
Úvod Předměty Německá cesta

Instalace

Žádné releasy ani čísla verzí nejsou. CI po každém pushi na main uloží balíčky do větve builds. Instalátor samotnou aplikaci neobsahuje — při spuštění si stáhne aktuální build, takže soubor nikdy nezestárne.

Nejjednodušší je instalátor pro vaši platformu:

Platforma Soubor Jak spustit
macOS (Apple Silicon) maturita-installer-macos.zip Rozbalit, pravý klik → Otevřít
Windows (x64) maturita-installer-windows.cmd Dvojklik; u SmartScreenu Další informace → Přesto spustit
Linux (x86_64) maturita-installer-linux.sh sh maturita-installer-linux.sh

Kam se to nainstaluje: /Applications nebo ~/Applications (macOS), %LOCALAPPDATA%\Programs\Maturita (Windows), ~/Applications (Linux).

Buildy nejsou podepsané, proto je při prvním spuštění potřeba výše uvedený krok navíc. Aplikace se pak udržuje sama: po startu porovná svůj commit se souborem VERSION ve větvi builds a aktualizaci nabídne v pruhu nahoře. Ruční kontrola je v Nastavení → Aktualizace.

Bez instalátoru

Na stejné větvi jsou i hotové balíčky:

Postup a nastavení se ukládají vedle .app / složky / AppImage do progress/.

Intel Mac, jiná architektura nebo úpravy kódu → sestavení ze zdroje.

Co v aplikaci je

  • Deutsch — 3 otevřené jednotky (Neue Freunde, Aus aller Welt, Bei uns zu Hause): cvičení, nápovědy, vokabeltraining
  • Správa počítačových sítí — 1. ročník, 27 lekcí (VLSM + teorie a kvízy); ročníky 2–4 jsou zamčené
  • Technické vybavení — 3 lekce (architektura, historie, bit/byte)
  • Český jazyk a literatura — mluvnice (20 cvičení) a maturitní četba (1984, Spalovač mrtvol); literatura je zatím zamčená
  • statistiky, 10 témat, tmavý/světlý režim, čeština/angličtina
  • ukončení: Cmd/Super+Q nebo Alt+F4

Použití

  1. Pokračuj otevře mapu předmětů.
  2. Otevřený předmět (vlajka, Wi‑Fi, čip, česká vlajka) vede na učební cestu.
  3. Uzly cvičení / lekcí otevřou obsah; zamčené nic nedělají.
  4. Statistiky (graf) a Nastavení (ozubené kolo) jsou vpravo nahoře.

Sestavení ze zdroje

# macOS
brew install gtk4 gcc make pkg-config

# Debian / Ubuntu
sudo apt install build-essential pkg-config libgtk-4-dev

# Fedora
sudo dnf install gcc make pkgconf-pkg-config gtk4-devel

# Arch
sudo pacman -S base-devel pkgconf gtk4
git clone https://github.com/pepaskopec-blip/maturita.c.git
cd maturita.c
make
make run          # nebo ./maturita
make bundle       # AppImage / .app zip / Windows složka s DLL

Volitelně CMake: cmake -S . -B build && cmake --build build.

Windows (MSYS2 UCRT64, bez Visual Studia)

winget install --id MSYS2.MSYS2 -e --source winget
C:\msys64\ucrt64.exe pacman -S --noconfirm mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-pkg-config make

V terminálu MSYS2 UCRT64:

cd /c/Users/Josef/maturita.c    # C:\Users\Josef\maturita.c → /c/Users/Josef/maturita.c
make
./maturita.exe
make bundle                     # dist/maturita.exe jde spustit i z Průzkumníka

Struktura

*.c / maturita.h     zdroj aplikace
style.css            GTK styl (barvy se vkládají za běhu)
installers/          instalátory, které stáhnou aktuální build
scripts/             balení AppImage a .app
.github/workflows/build.yml    CI: push na main → větev builds
assets/              ikona a screenshoty
progress/            vzniká za běhu (cvičení, nastavení)

Licence: GPL-3.0.


English

The UI is Czech and English. Four subjects are playable; the rest are locked placeholders. After install the app updates itself.

Welcome Subjects German path
Welcome Subjects German path

Install

There are no releases and no version numbers. CI writes packages to the builds branch whenever main changes. The installer carries no app of its own — it fetches the current build when you run it, so the file never goes stale.

Start with the installer for your platform:

Platform File How to run
macOS (Apple Silicon) maturita-installer-macos.zip Unzip, then right-click → Open
Windows (x64) maturita-installer-windows.cmd Double-click; if SmartScreen appears, More info → Run anyway
Linux (x86_64) maturita-installer-linux.sh sh maturita-installer-linux.sh

Install locations: /Applications or ~/Applications (macOS), %LOCALAPPDATA%\Programs\Maturita (Windows), ~/Applications (Linux).

The builds are unsigned, so the first launch needs the extra step above. After that the app stays current: it compares its commit to VERSION on builds and offers an update in a banner. Manual check: Settings → Updates.

Packages without the installer

Progress and settings live in progress/ next to the .app / folder / AppImage.

Intel Mac, another architecture, or hacking on the code → build from source.

What’s inside

  • Deutsch — 3 open units (Neue Freunde, Aus aller Welt, Bei uns zu Hause): exercises, hints, vocabulary training
  • Computer networks — year 1, 27 lessons (VLSM + theory/quizzes); years 2–4 are locked
  • Computer hardware — 3 lessons (architecture, history, bit/byte)
  • Czech language — grammar (20 exercises) and required reading (1984, Spalovač mrtvol); literature theory is still locked
  • statistics, 10 palettes, dark/light mode, Czech/English
  • quit with Cmd/Super+Q or Alt+F4

Usage

  1. Continue opens the subject map.
  2. An open subject (flag, Wi‑Fi, chip, Czech flag) opens its path.
  3. Exercise / lesson nodes open content; locked nodes do nothing.
  4. Statistics (chart) and Settings (gear) sit in the top-right.

Build from source

# macOS
brew install gtk4 gcc make pkg-config

# Debian / Ubuntu
sudo apt install build-essential pkg-config libgtk-4-dev

# Fedora
sudo dnf install gcc make pkgconf-pkg-config gtk4-devel

# Arch
sudo pacman -S base-devel pkgconf gtk4
git clone https://github.com/pepaskopec-blip/maturita.c.git
cd maturita.c
make
make run          # or ./maturita
make bundle       # AppImage / .app zip / Windows DLL folder

Optional CMake: cmake -S . -B build && cmake --build build.

Windows (MSYS2 UCRT64, no Visual Studio)

winget install --id MSYS2.MSYS2 -e --source winget
C:\msys64\ucrt64.exe pacman -S --noconfirm mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-pkg-config make

In an MSYS2 UCRT64 terminal:

cd /c/Users/Josef/maturita.c    # C:\Users\Josef\maturita.c → /c/Users/Josef/maturita.c
make
./maturita.exe
make bundle                     # dist/maturita.exe can be double-clicked

Layout

*.c / maturita.h     application sources
style.css            GTK stylesheet (palette injected at runtime)
installers/          fetch-the-latest installers
scripts/             AppImage / .app bundlers
.github/workflows/build.yml    CI: push to main → builds branch
assets/              icon and screenshots
progress/            created at runtime (exercises, settings)

License: GPL-3.0.