Skip to content

Task Manager is a web application built with Django that allows users to register, log in, and manage tasks with statuses and labels.

Notifications You must be signed in to change notification settings

olyapka84/task-manager-trainee-django-project

Repository files navigation

SonarCloud

Quality Gate Status

Coverage

Task Manager

Task Manager is a web application built with Django that allows users to register, log in, and manage tasks with statuses and labels. It’s a simple but fully functional project management tool created as the final project of the Hexlet Python Developer course.


Features

  • User registration and authentication
  • CRUD operations for:
    • Tasks (title, description, status, author, executor)
    • Statuses (e.g. "New", "In progress", "Done")
    • Labels for flexible task categorization
  • Access control: users can edit or delete only their own tasks
  • Flash messages for user feedback (success/error notifications)
  • Deployed with PostgreSQL and environment variables on Render

Tech Stack

  • Backend: Django 5.x
  • Database: PostgreSQL
  • Frontend: Django Templates, Bootstrap
  • Testing: pytest
  • Code quality: SonarCloud

Local Setup

Clone the repository and install dependencies with uv:

Create a .env file in the project root:

  • DEBUG=True
  • SECRET_KEY=your_secret_key
  • DATABASE_URL=postgresql://USER:PASSWORD@localhost:5432/task_manager

Run database migrations:

  • make migrate

Start the development server:

  • make start

or directly:

  • uv run python manage.py runserver 0.0.0.0:8000

Then open the app at:
http://localhost:8000/


Testing

Run the full test suite:

  • make test

About

The project demonstrates key Django concepts such as models, views, forms, authentication, and template inheritance.

About

Task Manager is a web application built with Django that allows users to register, log in, and manage tasks with statuses and labels.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages