diff --git a/README.md b/README.md index 23abfb6..32cf141 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,116 @@ -# sprechen.c +# Sprechen.c -A german learning app \ No newline at end of file +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: + ```bash + make + ``` + Or manually: + ```bash + gcc -o sprechen sprechen.c `pkg-config --cflags --libs gtk4` + ``` + +### Running the Application + +```bash +make run +``` +or +```bash +./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 \ No newline at end of file