Skip to content

Efeckc17/simple-todo-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 Simple Todo (C / WinAPI)

Platform Language License Size

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

🛠️ Technical Details

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

💾 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
├── 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 2

  •  
  •