Skip to content

Efeckc17/simple-todo-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

31 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŸ Simple Todo (C / WinAPI)

Platform Language License Size GitHub release (latest by tag)

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •