aegyo is a cross-platform GUI app for learning Korean Hangul.
When I was learning Japanese kana, I liked the idea of drilling the characters into my memory through pure brute-force repetition. I found an iOS app called Kana School that did exactly that. Unfortunately, no similar app existed for Korean Hangul, so I decided to create one myself.
- Written in modern C++ (C++17).
- Verified for accuracy by a Korean language teacher.
- Comprehensive documentation with doxygen-style comments.
- Automatic third-party dependency management using CMake's FetchContent.
- No missing STL headers thanks to header-warden.
This project has been tested on the following systems:
- macOS 15.2 (Sequoia)
- Manjaro 24.0 (Wynsdey)
- Windows 11 23H2
Automated testing is also performed on the latest versions of macOS, GNU/Linux, and Windows using GitHub Actions.
Pre-built binaries are available for macOS (ARM64), GNU/Linux (x86_64), and Windows (x86_64). You can download the latest version from the Releases page.
To remove macOS quarantine, use the following commands:
xattr -d com.apple.quarantine aegyo-macos-arm64.app
chmod +x aegyo-macos-arm64.app
On Windows, the OS might complain about the binary being unsigned. You can bypass this by clicking on "More info" and then "Run anyway".
To build and run this project, you'll need:
- C++17 or higher
- CMake
Follow these steps to build the project:
-
Clone the repository:
git clone https://github.com/ryouze/aegyo.git
-
Generate the build system:
cd aegyo mkdir build && cd build cmake ..
Optionally, you can disable compile warnings by setting
ENABLE_COMPILE_FLAGS
toOFF
:cmake .. -DENABLE_COMPILE_FLAGS=OFF
-
Compile the project:
To compile the project, use the following command:
cmake --build . --parallel
After successful compilation, you can run the program using ./aegyo
(open aegyo.app
on macOS). However, it is highly recommended to install the program, so that it can be run from any directory. Refer to the Install section below.
Note: The mode is set to Release
by default. To build in Debug
mode, use cmake .. -DCMAKE_BUILD_TYPE=Debug
.
If not already built, follow the steps in the Build section and ensure that you are in the build
directory.
To install the program, use the following command:
sudo cmake --install .
On macOS, this will install the program to /Applications
. You can then run aegyo.app
from the Launchpad, Spotlight, or by double-clicking the app in Finder.
To start the program, simply run the aegyo
executable (aegyo.app
on macOS, open /Applications/aegyo.app
to run from the terminal).
You can select the correct answer by clicking on it or by pressing the corresponding number key on your keyboard (1, 2, 3, 4).
The buttons in the top right corner toggle the vocabulary category:
Vow
for Basic VowelsCon
for Basic ConsonantsDCon
for Double ConsonantsCompV
for Compound Vowels
All categories are enabled by default. You can disable a category by clicking on the corresponding button.
If you're a beginner, start with the Vow
categories and gradually enable the other categories as you continue to learn.
Tests are included in the project but are not built by default.
To enable and build the tests manually, run the following commands from the build
directory:
cmake .. -DBUILD_TESTS=ON
cmake --build . --parallel
ctest --output-on-failure
All contributions are welcome.
This project is licensed under the MIT License.