Skip to content

Andrey-Volkovitskiy/task-manager

Repository files navigation

Task manager

This is the final training project of "Python Developer" specialization.

Django / DRF web app that helps office workers manage tasks

Deployed at: https://task-man.up.railway.app/

  • Implemented the web app using Django ClassBasdViews
  • Practiced implementation of CRUD operations and user permissions
  • The UI localized in two languages (Eng/Ru) using i18n
  • The REST API added using DFR
  • The app covered with 126 tests (unit & end-to-end)
  • Parameterized fixtures and fixture factories used
  • The code refactored to follow DRY, KISS

Tests and code quality assessment:

Linter Pytest (with postgres)

Maintainability Test Coverage


This project was built using these tools:

Tool Description
Django Web framework
Django ORM Database-abstraction API
Django REST Framework Web-API toolkit
PostgreSQL Database management system
Bootstrap CSS framework
Docker Container-based platform for building apps
Poetry Python dependency manager
Pytest Testing framework
Factory Boy Factories as fixtures replacement
Flake8 Linter to check code style
Code Climate Clean Code verification system
GitHub Actions Continuous Integration (CI)
Railway Deployment platform
Rollbar Error logging & tracking service
Swagger UI API documentation

REST-API


Installation and running

The application stores data using PostgresSQL (connected via DATABASE_URL).

  • make install - to install dependencies
  • make migrate - to migrate a database
  • make start - to start the app
  • make dev - to start app on development web server
  • make test - to run tests
  • make lint - to run linter (Flake8)

(more service commands can be found in Makefile)


ER diagram er diagram


Bootstrap interface Bootstrap interface


Error tracking (Rollbar) Error tracking (Rollbar)