A simple Django-based ToDo application that allows users to manage their daily tasks. This project demonstrates CRUD operations, task completion tracking, and a clean UI layout using Bootstrap.
Built as a hands-on project to practice Django fundamentals, task management, and UI integration.
- Add, update, and delete tasks
- Mark tasks as completed
- View tasks in two sections: ToDo (left) and Completed (right)
- Responsive UI using Bootstrap
- Displays the current date
- Single-page UI with a separate page for updating tasks
- Python 3.x
- Django 4.x
- SQLite (default Django database)
- Bootstrap 5
- Clone the repository
git clone https://github.com/iibrahimx/django-todo.git
cd django-todo- Create and activate a virtual environment (recommended) python -m venv venv
source venv/bin/activate
venv\Scripts\activate
- Install Django
pip install django- Apply database migrations
python manage.py makemigrations
python manage.py migrateStart the Django development server:
python manage.py runserverOpen your browser and go to:
http://127.0.0.1:8000/ToDo/
│── manage.py
│── db.sqlite3
│── todo_main/ # Main Django app
│── todo/ # Secondary app
│── templates/ # HTML templates
│── venv/ # Virtual environment
│── README.md
│── LICENSEHow It Works
- Add a Task: Use the input field and click Add.
- Mark as Completed: Click the check button on a task.
- Update a Task: Click the pencil icon, edit on the new page, then click Update.
- Delete a Task: Click the trash icon. Tasks automatically appear in the correct section based on their completion status.
- Add user authentication (login/register)
- Allow due dates and reminders
- Add task prioritization
- Implement drag-and-drop UI for better task management