Skip to content

Trysha-rbrn/endless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Endless

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.

Overview

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.

Features

  • 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

Tech Stack

  • C++
  • Windows console APIs
  • Local file persistence with INI format
  • mINI for INI parsing and writing

Project Structure

endless/
|-- main.cpp
`-- src/
    `-- ini.h

How It Works

The app starts in a simple interactive menu and lets the user choose between four main modules:

  • Grades
  • Events
  • Pomodoro timer
  • Settings

Each module performs file-based read/write operations on a local INI file so the program can preserve data between sessions.

Getting Started

Requirements

  • Windows
  • A C++ compiler with support for the standard library

Build

Compile the project with your preferred Windows-compatible C++ compiler.

Example using g++:

g++ main.cpp -o endless

Note: 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.

Run

./endless

Example Use Cases

  • 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

Known Limitations

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

Why This Project Matters

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.

Learning Value

This project helped me practice:

  • console application design
  • file handling
  • structured menus
  • basic data modeling
  • working with third-party libraries
  • debugging stateful program logic

Future Improvements

  • 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

License

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.

About

A Windows console-based student productivity app in C++ for tracking grades, events, and study sessions. Built when I was 16.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages