Task Management System
A task management app for Projects created using Django v4.0 and Python 3.8 for educational purpose. This project was created during a One Day Hackathon on 11th December 2021.
How to Setup in Localhost
- Clone this repository.
- Open the cloned repository.
- Install dependencies using
pip install -r requirements.txt
OR Installpipenv
usingpip install pipenv
and initialise a Virtual Machine usingpipenv install
in the directory. - Set environment variables like
SECRET_KEY
,DEBUG_VALUE
, etc, using thepython-decouple
library and creating a.env
file in your main directory. An example file isprovided. - Run the Django Server using
python manage.py runserver
and then gotolocalhost:8000
or127.0.0.1:8000
and see the server running.
Environment Variables:
SECRET_KEY
: Django secret key which can be any long hexadecimal value. Django recommends atleast 50 characters to make it secure. Use the below code for generating new keys.
import secrets
print(secrets.token_urlsafe())
DEBUG_VALUE
: Set it as "True" for Debug environment and "False" for Production. EMAIL_USER
: The email address that will be used to email incase somebody forgets password. EMAIL_PASS
: The password to that email address. Refer to App Passwords if the email has 2 factor auth.
How to Setup for Production
Refer on how to deploy Python apps in Heroku here and Django app configuration here.
Features
- Can create any tasks and assign it to somebody.
- Can keep track of the status of the task.
- Password can be recovered using the password recovery features.
- Profile System with a profile image.
- Follows most of the Django security checks.
- Uses Django Class Views for handling Projects and Tasks.
Known Issues:
- App not ready for production due to bucket issues as it can't handle profile pictures or any other attacments.
Please make a GitHub issue if any other bugs are found.
Notes
This project was created on Ubuntu-20.04 LTS and tested under Windows 10 and Ubuntu, and is expected to work fully in other systems too.
This project is still under development. Parts of the source codes may not be well documented. Also suitable prompts may not be available for the user at the moment.
More features and fixes are yet to come. Meanwhile suggestions, ideas, bug reports are welcomed.