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
2026-09-03 19:08:16 +02:00
.gitignore added in makefile to make it easy to compile after cloning :) 2026-09-03 13:06:00 +02:00
LICENSE Initial commit 2026-09-03 10:53:24 +02:00
Makefile redesigned the units section to my liking 2026-09-03 19:08:16 +02:00
README.md Refined readme.md v1 2026-09-03 13:09:59 +02:00
sprechen.c redesigned the units section to my liking 2026-09-03 19:08:16 +02:00

Sprechen.c

A German learning application written in C using GTK 4.

Description

Sprechen.c is an educational program designed for practicing German language skills, targeted at high school and gymnasium students. The application features a beautiful graphical user interface with a gradient background and displays welcome information about the program.

Features

  • Beautiful gradient background with modern styling
  • Centered welcome message with information about the program
  • Resizable window (standard GTK behavior)
  • Written in C using GTK 4 for cross-platform compatibility
  • CSS-based styling for easy customization

Installation

Prerequisites

To build and run Sprechen.c, you need:

  1. GTK 4 Development Libraries

    • macOS: brew install gtk4
    • Linux (Debian/Ubuntu): sudo apt install libgtk-4-dev
    • Linux (Fedora): sudo dnf install gtk4-devel
    • Linux (Arch): sudo pacman -S gtk4
  2. Build Tools

    • GCC compiler (or Clang)
    • Make utility
    • pkg-config (usually comes with GTK installation)

Building the Application

  1. Clone or download this repository
  2. Navigate to the project directory
  3. Build using the provided Makefile:
    make
    
    Or manually:
    gcc -o sprechen sprechen.c `pkg-config --cflags --libs gtk4`
    

Running the Application

make run

or

./sprechen

Usage

Once launched, the application will display a window with:

  • Title: "Sprechen.c"
  • Welcome message in Czech (as currently implemented)
  • Beautiful dark bluish gradient background
  • Styled text box with rounded corners and subtle shadow

The window is fully resizable like any standard application window.

To-Do Plans

Future enhancements planned for Sprechen.c:

Short-term Goals

  • Add interactive German vocabulary exercises
  • Implement basic grammar practice modules
  • Add audio pronunciation features
  • Create lesson progression system
  • Add user settings panel

Medium-term Goals

  • Implement spaced repetition system for vocabulary
  • Add listening comprehension exercises
  • Include reading comprehension texts
  • Add writing practice with feedback
  • Implement progress tracking and statistics

Long-term Goals

  • Add multiple difficulty levels (A1-C2)
  • Include cultural information about German-speaking countries
  • Implement offline mode with downloadable lessons
  • Add teacher/classroom management features
  • Implement achievement system and rewards

Technical Improvements

  • Separate UI code into multiple files (ui.c, ui.h)
  • Move CSS styling to external file
  • Implement lesson data loading from JSON/XML
  • Add internationalization support (gettext)
  • Improve accessibility features
  • Add unit testing framework

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • Bug fixes
  • Feature suggestions
  • Translation improvements
  • Documentation enhancements

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Created as a learning exercise in C and GTK programming
  • Inspired by language learning applications
  • Built with GTK 4 for modern GUI development