A Windows console-based student productivity app built in C++.
This project was originally created when I was 16 years old, so I treat it both as a functional school organizer and as a snapshot of my early programming journey.
Endless is a simple terminal application designed to help a student manage everyday school-related tasks from one place. The application combines grade tracking, subject management, event reminders, basic personal information storage, and a Pomodoro-style timer inside a single menu-driven interface.
The project stores user data in an .ini file and uses a lightweight INI parser for persistence.
- Add, edit, and review school subjects
- Store grades per subject and calculate average grades
- Save personal information such as name, surname, and age
- Create and delete calendar events
- Display a text-based monthly calendar with highlighted event days
- Use a stopwatch and a Pomodoro-style countdown timer
- Persist user data locally via
main.ini
- C++
- Windows console APIs
- Local file persistence with INI format
- mINI for INI parsing and writing
endless/
|-- main.cpp
`-- src/
`-- ini.h
The app starts in a simple interactive menu and lets the user choose between four main modules:
GradesEventsPomodoro timerSettings
Each module performs file-based read/write operations on a local INI file so the program can preserve data between sessions.
- Windows
- A C++ compiler with support for the standard library
Compile the project with your preferred Windows-compatible C++ compiler.
Example using g++:
g++ main.cpp -o endlessNote: this repository is preserved in its original form as an early project snapshot. Depending on your compiler setup, you may need to adjust the local header include path for the bundled mINI file.
./endless- Track grades for school subjects
- Keep a lightweight record of upcoming school events
- Use the timer while studying
- Maintain a simple all-in-one study companion in the terminal
Because this is an early project, there are several limitations that reflect my experience level at the time:
- The codebase is mostly contained in a single source file
- The application is Windows-specific
- Input validation is limited in some places
- Some timer and calendar behaviors are unfinished or fragile
- The interface is functional, but not yet polished
- There are no automated tests
Even though this is an older project, it is important to me because it shows how I approached problem-solving early on:
- building something practical instead of only academic exercises
- combining multiple features into one application
- working with persistent storage
- thinking about usability through menus and interaction flow
I built this when I was 16, and I am intentionally keeping it in my portfolio as a marker of growth.
This project helped me practice:
- console application design
- file handling
- structured menus
- basic data modeling
- working with third-party libraries
- debugging stateful program logic
- Split the application into multiple source files and modules
- Improve input handling and validation
- Refactor timer and calendar logic
- Add better event visualization
- Make the project cross-platform
- Add tests and clearer build instructions
This project is licensed under the MIT License. See the LICENSE file for details.
The repository also includes the mINI header library, which is distributed under the MIT License by its original author.