A robust, full-stack task management application built with Django. Designed to streamline personal productivity, this application allows users to create, organize, and track daily tasks with a focus on data persistence and user security.
- User Authentication System: Secure login, registration, and logout functionality using Django's built-in authentication system.
- CRUD Operations: Full Create, Read, Update, and Delete capabilities for task management.
- Database Management: Utilizes SQLite for development and configured for MySQL in production environments.
- Task Prioritization: Logic to categorize tasks by urgency or completion status.
- Responsive UI: Built with Bootstrap 5 to ensure functionality across mobile and desktop devices.
- Security: Implemented CSRF protection on all forms and
@login_requireddecorators to protect private routes.
- Backend Framework: Django (Python)
- Architecture: MVT (Model-View-Template)
- Database: SQLite (Dev) / MySQL (Prod)
- Frontend: HTML5, CSS3, Bootstrap 5
- Deployment: Heroku (utilizing
gunicornandwhitenoisefor static files)
To run this project locally, follow these steps:
-
Clone the repository:
git clone [https://github.com/Py-God/your-repo-name.git](https://github.com/Py-God/your-repo-name.git) cd your-repo-name -
Create and activate a virtual environment:
python -m venv venv # Windows venv\Scripts\activate # Mac/Linux source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Apply Migrations:
python manage.py migrate
-
Run the Server:
python manage.py runserver
- How to configure
settings.pyfor different environments (Development vs. Production). - Managing static files in Django using Whitenoise.
- Designing relational database models and using Django's ORM to query data efficiently.
- Debugging deployment errors on Heroku (Procfiles, Buildpacks).
Created by Boluwatife Leke-Oduoye
