https://task-manager-ubxr.onrender.com/
This is a task management web app built with Python and Django. It allows users to create tasks, assign them, and track their statuses. If you want to access a demo version of this app hosted on Render, please visit this page.
- Task Management: Create, assign performers, update statuses.
- Labels: Categorize tasks with multiple labels.
- Filtering: Easily find tasks by status, performer, or label.
- User Authentication: Secure access with registration and login.
- Backend: Python, Django, PostgreSQL
- Frontend: Bootstrap 5
- Deployment: Gunicorn
- Tools: Poetry, Rollbar for error monitoring
- Registration: Begin by registering on the application using the registration form.
- Authentication: After registration, log in here to access the list of tasks and create new ones.
- Users: You can view all registered users on the users page. You can edit your own information or delete your profile if you're authorized. Deleting another user or a user associated with any tasks is restricted.
- Statuses: Once logged in, you can manage task statuses — adding, updating, or deleting them. Statuses linked to any tasks cannot be deleted.
- Tasks: After logging in, you can view, add, and update tasks. Only the creator of a task can delete it. Tasks can be filtered by statuses, users, and labels on the tasks page.
- Labels: When logged in, you have control over task labels—adding, updating, or deleting them. Labels linked to any tasks cannot be deleted.
Follow these steps to install the application using Poetry:
Ensure you have the following installed on your system:
- Python (version 3.10 or later)
- Poetry (a dependency management tool for Python)
- PostgreSQL (optional)
Alternatively, you can use SQLite database by setting
DATABASE_URL = sqlite:///db.sqlite3in .env file.
- Clone the Repository
Open your terminal and run the following command to clone the repository:
>>$ git clone https://github.com/lt3-me/python-project-52- Navigate to the Project Directory
Change into the project directory:
>>$ cd python-project-52- Install Dependencies
Run the following command to install all necessary dependencies using Poetry:
>>$ poetry installOr using Makefile:
>>$ make build- Get Rollbar Token (optional)
Sign up on Rollbar and create a new project.
To track errors you simply need to add an access your Project Access Token for post_server_item to your .env (you can find it in project settings).
- Create .env File
Use .env.sample as a template to create .env file in the root folder and assign following variables:
SECRET_KEY = '...' # your secret key
DATABASE_URL = 'postgresql://...' # url of your database
# (if you don't want to use PostgreSQL, just use 'sqlite:///db.sqlite3')
ROLLBAR_TOKEN = '...' # rollbar token for errors tracking (optional)
LANGUAGE = 'en' # project locale (optional)
DEBUG = 'False' # turn on/off the debug mode (set false for production use)You can start the application with the appropriate command using Gunicorn WSGI:
>>$ make startAlternatively, you can start the app using standard Django development server:
>>$ make dev