Skip to content

oleg-dixon/python-project-52

Repository files navigation

Task Manager

Actions Status Python CI

A comprehensive task management system built with Django that allows you to set tasks, assign performers, and track their statuses. Registration and authentication are required to work with the system.

🌐 Live Demo: Task Manager on Render

✨ Features

  • Task Management - Create, edit, and track task completion status
  • Labels & Statuses - Organize tasks using labels and track their status
  • User Management - Register, authenticate, and manage user profiles
  • Team Collaboration - Assign tasks to other users and work together
  • Access Control - Secure authentication and authorization system

🚀 Quick Start

Prerequisites

  • Python 3.12+
  • PostgreSQL
  • UV package manager

Installation

  1. Clone the repository
git clone https://github.com/oleg-dixon/python-project-52.git
cd python-project-52
  1. Install UV (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
  1. Install dependencies
make install
  1. Configure environment
cp .env.example .env
# Edit .env with your settings:
# SECRET_KEY="your-secret-key"
# DATABASE_URL="postgresql://user:password@localhost:5432/task_manager"
  1. Setup database
make migrate
make collectstatic
  1. Run the application
make start

🛠️ Development

Running Tests

make test

Code Quality

make lint    # Run linters
make format  # Auto-format code

Build Package

make build

📦 Tech Stack

Core

  • Python 3.12+ - Programming language
  • Django 5.2+ - Web framework

Database

  • PostgreSQL - Primary database
  • Psycopg2-binary - PostgreSQL adapter
  • Dj-database-url - Database URL parsing

UI & Forms

  • Django-bootstrap5 - Bootstrap 5 integration
  • Django-filter - Filtering support

Development

  • Flake8 - Code linting
  • Ruff - Fast Python linter
  • Pytest - Testing framework
  • Dotenv - Environment variables

Production

  • Gunicorn - WSGI server
  • Rollbar - Error monitoring

🔧 Available Make Commands

  • make install - Install dependencies
  • make start - Run development server
  • make test - Run test suite
  • make lint - Run code linters
  • make migrate - Run database migrations
  • make collectstatic - Collect static files
  • make build - Build package

🌐 Deployment

The application is deployed on Render.com and available at:

Live Demo: https://python-project-52-ya5h.onrender.com

📝 License

This project is part of the Hexlet educational program.

About

My Task Manager this is a task management system

Resources

Stars

Watchers

Forks

Packages

No packages published