AleksandrKosmylev/python-project-52

View on GitHub
README.md

Summary

Maintainability
Test Coverage
### Hexlet tests and linter status:
[![Actions Status](https://github.com/AleksandrKosmylev/python-project-52/actions/workflows/hexlet-check.yml/badge.svg)](https://github.com/AleksandrKosmylev/python-project-52/actions)
<a href="https://codeclimate.com/github/AleksandrKosmylev/python-project-52/maintainability"><img src="https://api.codeclimate.com/v1/badges/b2b19f9e136aacd51bd4/maintainability" /></a>
<a href="https://codeclimate.com/github/AleksandrKosmylev/python-project-52/test_coverage"><img src="https://api.codeclimate.com/v1/badges/b2b19f9e136aacd51bd4/test_coverage" /></a>

### Description
This is CRUD web application built with Django, Bootstrap and PostgreSQL.
It manages tasks for multiple users.
Each task has a label description and statuses that can be changed and deleted.

### This project was build using these tools:
| Tool                                                                        | Description                                             |
|-----------------------------------------------------------------------------|---------------------------------------------------------|
| [poetry](https://python-poetry.org/)                                        | "Python dependency management and packaging made easy"  |
| [pip](https://pypi.org/project/pip/)                                        | "Package installer for Python"                          |
| [Django](https://www.djangoproject.com/)                                    | "Django makes it easier to build better web apps more quickly and with less code" |
| [flake8](https://flake8.pycqa.org/)                                         | "Your tool for style guide enforcement" |
| [gunicorn](https://docs.gunicorn.org/en/stable/)                            | "Python WSGI HTTP Server for UNIX" |
| [uvicorn](https://www.uvicorn.org/)                                         | "Uvicorn is an ASGI web server implementation for Python" |
| [python-dotenv](https://pypi.org/project/python-dotenv/)                    | "Python-dotenv reads key-value pairs from a .env file and can set them as environment variables" |
| [bootstrap](https://getbootstrap.com/)                                      | "Feature-packed frontend toolkit" |
| [psycopg](https://www.psycopg.org/docs/index.html)                          | "Database adapter" |
| [dj-database-url](https://pypi.org/project/dj-database-url/)                | "This simple Django utility allows you to utilize the 12factor inspired DATABASE_URL environment variable to configure your Django application" |
| [WhiteNoise](https://whitenoise.readthedocs.io/en/stable/index.html)        | "Radically simplified static file serving for Python web apps" |
| [django-extensions](https://django-extensions.readthedocs.io/en/latest/)    | "Collection of custom extensions for the Django Framework" |
| [pytest-django](https://pytest-django.readthedocs.io/en/latest/)            | "Plugin for pytest that provides a set of useful tools for testing Django applications and projects" |
| [django-filter](https://django-filter.readthedocs.io/en/stable/)            | "It allows users to filter down a queryset based on a model’s fields, displaying the form to let them do this" |
| [rollbar](https://rollbar.com/)                                             | "Discover, predict, and resolve errors in real-time" |
| [gettext](https://docs.python.org/3/library/gettext.html)                   | "The gettext module provides internationalization (I18N) and localization (L10N) services for your Python modules and applications" |

### Installation
    
1. Clone the repository to your local machine:
    ```
    git@github.com:AleksandrKosmylev/python-project-52.git
    ```
2. Change the working directory:
    ```
    cd python-project-52
    ```
3. Create .env file and add  your variables according to example below:
    ```
    SECRET_KEY = 'secret'
    DEBUG = 'True'
    DATABASE_URL = 'postgresql:...'
    POST_SERVER_ITEM_ACCESS_TOKEN = 'token'
    ```
4. Run application
    ```
    make run
    ```

### Link

https://project-lvl-4.onrender.com