Todo is a simple and efficient task management web application built with Django. It allows users to register, log in, and manage their personal tasks through a user-friendly interface. Each user has private access to their own task list and can organize tasks by status: pending or completed.
This project also implements enhanced user interactions using AJAX and SweetAlert for a more dynamic and modern experience.
- User registration and authentication (Django auth)
- CRUD operations for tasks
- Task filtering by status (pending, completed)
- Private task lists for each user
- Responsive design using Bootstrap
- AJAX for real-time task actions
- SweetAlert for beautiful alerts and confirmations
- Automated tests with Django
TestCase
- Python 3
- Django
- SQLite3 (for development)
- Bootstrap (frontend styling)
- JavaScript + AJAX
- SweetAlert (JS alert replacement)
- Django Auth System
- Django Testing Framework
- Python 3.8+
- pip
- Virtualenv (recommended)
- Clone the repository:
git clone https://github.com/fmartns/todo.git
cd todo- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Configure environment variables:
Create a .env file in the root of your project and add the following:
SECRET_KEY=your-secret-key
DEBUG=True
ALLOWED_HOSTS=127.0.0.1,localhostIn settings.py, make sure to load this file using python-decouple or similar.
- Apply migrations:
python manage.py migrate- Create a superuser:
python manage.py createsuperuser- Run the server:
python manage.py runserverVisit http://127.0.0.1:8000/ in your browser.
To run all automated tests:
python manage.py testThis project is licensed under the MIT License.
Developed by Filipe Martins.
