Skip to content

Repository files navigation

Hexlet tests and linter status:

Actions Status Github Actions Status Maintainability Test Coverage

Task Manager

https://task-manager-ubxr.onrender.com/

Overview

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.

Features

  • 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.

Technology Stack

Available Actions

  • 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.

Installation

Follow these steps to install the application using Poetry:

Prerequisites

Ensure you have the following installed on your system:

Alternatively, you can use SQLite database by setting DATABASE_URL = sqlite:///db.sqlite3 in .env file.

Steps

  1. 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
  1. Navigate to the Project Directory

Change into the project directory:

>>$ cd python-project-52
  1. Install Dependencies

Run the following command to install all necessary dependencies using Poetry:

>>$ poetry install

Or using Makefile:

>>$ make build
  1. 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).

  1. 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)

Running the Application

You can start the application with the appropriate command using Gunicorn WSGI:

>>$ make start

Alternatively, you can start the app using standard Django development server:

>>$ make dev

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages