Skip to content

MVP CRM-системы для Амбассадоров Яндекс Практикума

License

Notifications You must be signed in to change notification settings

Lozhkin-pa/hackathon-crm-ambassadors

Repository files navigation

MVP CRM-системы для Амбассадоров Яндекс Практикума

Code-style/tests

Проект команды №1 в хакатоне Яндекс Практикума.

Python DjangoREST Docker Nginx Postgres Swagger

Скриншоты проекта

Используемые библиотеки и зависимости

Библиотека Описание
Python 3.10 Язык программирования Python версии 3.10.
Django 4 Основной фреймворк для разработки веб-приложений.
DRF Фреймворк для создания API в приложениях Django.
Djoser Библиотека для обеспечения аутентификации в Django Rest Framework.
Gunicorn WSGI-сервер для запуска веб-приложений Django.
Environs[django] Библиотека для управления переменными окружения и хранения секретов.
drf-spectacular Генератор документации и Swagger для API в Django.
Pillow Библиотека для обработки изображений в Python.
Django Notifications Уведомления.
Pandas Библиотека для обработки и анализа данных.
Openpyxl Библиотека для чтения/записи форматов Office Open XML.
Django filter Библиотека для фильтрации данных в приложениях Django.
django-cors-headers Настройка политики безопасности HTTP Headers[CORS]
Flake8, black, isort, Pre-commit Инструменты для поддержания Code-Style в проекте.

Инструкция по сборке и запуску

Запуск проекта для локальной разработки

  1. Необходимо создать и заполнить файл .env (пример .envexample).
  2. Создать локальное окружение:
    python -m venv venv - для Windows
    python3 -m venv venv - для Linux
    
  3. Запустить локальное окружение:
    . venv/scripts/activate - для Windows
    . venv/bin/activate - для Linux
    
  4. Установить зависимости:
    pip install -r requirements.txt
    
  5. Необходимо в файле config/settings.py закомментировать строку:
    CSRF_TRUSTED_ORIGINS = ['https://crm-ambassadors.hopto.org']
    
  6. Выполнить миграции:
    python manage.py migrate
    
  7. Запустить сервис разработчика:
    python manage.py runserver
    

Запуск проекта в контейнерах

Доступен по localhost:8000

docker compose -f docker-compose.yaml up -d

Загрузка фикстур (тестовых данных) в БД.

Инструкция в соседнем readme-файле по ссылке

Документация API

  • На удаленном сервере: Swagger
  • Локально после запуска: Swagger
  • Из дирректории проекта: CRM_API.yaml

Авторы