Task Manager

Create user, add statuses and labels. Be ready to create tasks

Demo: https://hidden-bayou-30395.herokuapp.com/


Hexlet tests and linter status:

Actions Status python-ci Maintainability Test Coverage

Installation

% git clone https://github.com/mnogom/python-project-lvl4.git
% cd python-project-lvl4
% make install
% make migrate

Tests

To check if everything ok:

% make test

Models

Models

╔═════════════╗ ╔═════════════╗ ╔═════════════╗
║ Task        ║ ║ TaskLabel   ║ ║ Label       ║
╠═════════════╣ ╠═════════════╣ ╠═════════════╣
║ name        ║ ║ task        ║ ║ name        ║
║ description ║ ║ label       ║ ║ created_at  ║
║ [a]uthor    ║ ╚═════════════╝ ╚═════════════╝
║ [e]xecutor  ║ ╔═════════════╗
║ [s]tatus    ║ ║ Status      ║
║ [l]abels    ║ ╠═════════════╣
║ created_at  ║ ║ name        ║
╚═════════════╝ ║ description ║
╔═════════════╗ ║ created_at  ║
║ User        ║ ╚═════════════╝
╠═════════════╣
║ username    ║
║ email       ║
║ first_name  ║
║ last_name   ║
║ password*   ║
╚═════════════╝

Relation Ontology

╔═════════════╗   ╔═════════════╗   ╔═════════════╗
║ Task        l───╢ TaskLabel   ╟───╢ Label       ║
╚═══ s e a ═══╝   ╚═════════════╝   ╚═════════════╝
     │ │ │ ╔═════════════╗           
     │ │ └─╢ User        ║           
     │ │   ╚═════════════╝           
     │ │   ╔═════════════╗
     │ └───╢ User        ║
     │     ╚═════════════╝
╔════╧════════╗
║ Status      ║
╚═════════════╝

Site map

  • Home
    • GET / - index page
  • CRUD Users
    • GET /users/ - page with all users
    • GET /users/create/ - page to create new user
    • POST /users/create/ - creating new user
    • GET /users/<int:pk>/update/ - page to update user
    • POST /users/<int:pk>/update/ - updating user
    • GET /users/<int:pk>/delete/ - page to delete user
    • POST /users/<int:pk>/delete/ - deleting user
    • GET /login/ - login page
    • POST /login/ - authentication user
    • POST /logout/ - logout user
  • CRUD Statuses
    • GET /statuses/ - page with all statuses
    • GET /statuses/create/ - page to create new status
    • POST /statuses/create/ - creating new status
    • GET /statuses/<int:pk>/update/ - page to update status
    • POST /statuses/<int:pk>/update/ - updating status
    • GET /statuses/<int:pk>/delete/ - page to delete status
    • POST /statuses/<int:pk>/delete/ - deleting status
  • CRUD Labels
    • GET /labels/ - page with all labels
    • GET /labels/create/ - page to create new label
    • POST /labels/create/ - creating new label
    • GET /labels/<int:pk>/update/ - page to update label
    • POST /labels/<int:pk>/update/ - updating label
    • GET /labels/<int:pk>/delete/ - page to delete label
    • POST /labels/<int:pk>/delete/ - deleting label
  • CRUD Tasks
    • GET /tasks/ - page with all tasks
    • GET /tasks/create/ - page to create new task
    • POST /tasks/create/ - creating new task
    • GET /tasks/<int:pk>/update/ - page to update task
    • POST /tasks/<int:pk>/update/ - updating task
    • GET /tasks/<int:pk>/delete/ - page to delete task
    • POST /tasks/<int:pk>/delete/ - deleting task
    • GET /tasks/<int:pk>/ - page with detailed task