Home
Softono
simple-todo-c

simple-todo-c

Open source MIT C
569
Stars
36
Forks
2
Issues
4
Watchers
2 months
Last Commit

About simple-todo-c

A lightweight, native Windows Todo application built with pure C and the Win32 API. Just 60 KB

Platforms

Web Self-hosted Windows

Languages

C

Links

๐ŸŒŸ Simple Todo (C / WinAPI)

Platform Language License Size GitHub release (latest by tag)

Payments

If you're building projects in regions where services like PayPal or Stripe are restricted, I built a separate solution:

PayCow โ€” accept payments using ERC-20 (TRC-20 soon), without relying on traditional platforms.

https://paycow.net

https://github.com/Efeckc17/Paycow-Introduction

A modern :) , native Windows Todo application built with C and Win32 API. This project demonstrates advanced Windows GUI programming and system integration capabilities.

Todo App Screenshot

โœจ Features

  • ๐Ÿ“ Create, edit, and delete todo items
  • โœ… Mark tasks as complete
  • ๐Ÿ’พ Persistent storage in AppData
  • ๐Ÿ”” System tray integration (minimize to tray)
  • ๐ŸŒ™ Native Windows look and feel
  • ๐Ÿš€ Auto-start with Windows option
  • ๐Ÿ” Real-time search functionality with case-insensitive matching

๐Ÿ› ๏ธ Technical Details

  • Written in pure C
  • Uses Win32 API for GUI
  • System tray integration
  • Lightweight native executable
  • Modern Windows visual styles with manifest

๐Ÿ› Debugging

Debugging

Check out our debugging guide for instructions on how to debug this application using Visual Studio, VS Code, or other tools.

๐Ÿ’พ Data Storage

The application stores todos in a binary file:

  • Location: %APPDATA%\TodoApp\todos.dat
  • Format: Binary file containing the entire todo list
  • Capacity: Maximum 100 todos

๐Ÿ“‹ Requirements

  • Windows OS
  • MinGW-w64 (GCC compiler)
  • Windows SDK (included with MinGW)

๐Ÿš€ Building from Source

  1. Install MinGW-w64:

  2. Clone the repository:

    git clone https://github.com/Efeckc17/simple-todo-c.git
    cd simple-todo-c
  3. Build the project:

    .\build.bat

๐ŸŽฎ Usage

  1. Run bin/todo.exe
  2. Use the interface to:
    • Add new todos with the "Add" button
    • Edit existing todos by selecting and clicking "Edit"
    • Delete todos with the "Delete" button
    • Mark todos as complete with the "Complete" button
    • Set priority levels for each todo

๐Ÿ—๏ธ Project Structure

.
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app.manifest
โ”‚   โ”œโ”€โ”€ main.c           # Application entry point
โ”‚   โ”œโ”€โ”€ todo.c           # Todo management logic
โ”‚   โ”œโ”€โ”€ todo.h           # Todo data structures and declarations
โ”‚   โ”œโ”€โ”€ gui.c            # GUI implementation
โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ”œโ”€โ”€ search.c     # Search functionality implementation
โ”‚       โ””โ”€โ”€ search.h     # Search function declarations
โ”œโ”€โ”€ bin/                 # Compiled executable
โ”œโ”€โ”€ build.bat            # Build script
โ””โ”€โ”€ README.md            # This file

๐Ÿ”ง Development

The project uses the following key components:

  • Win32 API: For window management and GUI
  • Common Controls: For modern UI elements
  • UXTheme: For Windows visual styles
  • File I/O: For data persistence

๐Ÿ“ License

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

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ“ซ Contact

Toxi360 - @Efeckc17

Project Link: https://github.com/Efeckc17/simple-todo-c