Live Link: Todo List
Please note that the PDF download feature is different in the live version due to additional dependencies required by weasyprint.
To get started with the Todo_List Django Web App, you can clone the repository from GitHub using the following steps:
-
Clone the repository:
git clone https://github.com/NAHIAN-19/Todo-List-Django.git
-
Install the GTK Installer (To use weasyprint):
-
Navigate to the project folder:
cd Todo_List
-
Create and activate a virtual environment (optional but recommended):
python -m venv myworld source myworld/bin/activate # On Windows use: myworld\Scripts\activate.bat
-
Install project dependencies:
pip install -r requirements.txt
-
Create a .env file in your project root & add keys:
python generate_keys.py
-
Install Redis:
-
For Windows: Follow this guide to install Redis: Install Redis on Windows
-
For MacOS: Use Homebrew:
brew install redis
-
For Linux: Use the following commands:
sudo apt-get update sudo apt-get install redis-server
-
Start Redis server:
-
For Windows: Run
redis-server
from the Redis installation folder. -
For MacOS/Linux: Run the following:
redis-server
-
-
-
Check .env file and follow the link for Email setup:
-
Start the Celery worker in one terminal window:
celery -A Todo_List worker --loglevel=info
-
Start the Celery Beat scheduler in another terminal window:
celery -A Todo_List beat --loglevel=info
-
-
Run database migrations:
python manage.py makemigrations python manage.py migrate
-
Create a superuser account (for admin access):
python manage.py createsuperuser
-
Start the development server:
python manage.py runserver
-
Open your web browser and go to http://localhost:8000 to access the Todo_List Django Web App.
The Todo_List Django Web App offers the following features:
- Task Management: Easily add, edit, and delete tasks.
- Task Prioritization: Assign priority levels to tasks.
- Task Categorization: Divide tasks into different categories.
- Task Reminder: Send Email to users for specific tasks (with Celery).
- User Authentication: Secure account management (signin, signup, forgot password).
- Admin Dashboard: Access admin dashboard http://localhost:8000/todo-admin/ to manage users and tasks.
- Profile Management: View/Change user details.
- Export Task Details: Download PDF / CSV file of your tasks.
- Dark Mode: Trigger Dark theme for an awesome experience.
We welcome contributions to improve the Todo_List Django Web App. If you'd like to contribute, please follow these guidelines:
-
Fork the repository.
-
Create a new branch for your feature or bug fix.
-
Make your changes and test them thoroughly.
-
Submit a pull request with a clear description of your changes.
-
Ensure your code follows best practices and includes necessary tests if applicable.
This project is licensed under the MIT License. See the LICENSE file for details.