Slavchick12 / calls

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Calls - сервис автоматических звонков

example workflow

Описание проекта

Сервис предназначен для взаимодействия с рецептами. У пользователей есть возможность создавать рецепты, изменять их, добавлять в избранное, а также подписываться на других авторов. Раздел «Список покупок» позволит пользователям составить список ингредиентов и их количество для приготовления выбранных блюд, который можно скачать в формате «.txt».

Описание Workflow

tests
  • Проверка кода на соответствие PEP8.

Функционал

Весь функционал осуществляется авторизованными пользователями

  • Пользователь может задать параметры подключения к поставщику телефонии: адрес sip шлюза, имя пользователя, пароль и т.п. (только одну запись)
  • Пользователь может загружать звуковые файлы
  • Пользователь может загружать .txt файлы со списком телефонных номеров
  • Инициировать дозвон до базы абонентов с воспроизведением загруженного звукового файла

Права доступа

Неавторизованный пользователь
  • Создание пользователя
  • Получение JWT-токена пользователя
Авторизованный пользователь
  • Изменить имя своего аккаунта
  • Изменить пароль своего аккаунта
  • Удалить свой аккаунт
  • Получить звуковой файл
  • Получить список своих загруженных звуковых файлов
  • Загрузить звуковой файл
  • Удалить звуковой файл
  • Получить параметры подключения
  • Создать параметры подключения
  • Изменить параметры подключения
  • Удалить параметры подключения
  • Получить базу абонентов
  • Получить список баз абонентов
  • Загрузить базу абонентов
  • Удалить базу абонентов

Подготовка и запуск проекта

Клонирование репозитория

Склонируйте репозиторий на локальную машину:
git clone git clone https://github.com/Slavchick12/calls.git

Подготовка базы данных PostgreSQL

Шаг 1. Скачайте и установите PostreSQL 14.5
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Шаг 2. Запустите PostgreSQL и создайте БД "hotel"

Настройка виртуального окружения и проведение миграций

Шаг 1. Установка виртуального окружения
cd <path_to_project/>
python -m venv venv
Шаг 2. Активация виртуального окружения
. venv/Scripts/activate
Шаг 3. Обновление пакетов pip
python -m pip install -U pip
Шаг 4. Установка зависимостей проекта
pip install -r requirements.txt
Шаг 5. Перейдите в директорию с файлом manage.py с запущенным виртуальным окружением
cd <path_to_project>/calls/
Шаг 6. Проведение миграций
python manage.py makemigrations
python manage.py migrate

Подготовка секретных переменных

Шаг 1. Перейдите в корень проекта
cd <path_to_project>/
Шаг 2. Создайте файл .env на примере файла .env.example

Запуск проекта на локальной машине

cd <path_to_project>/calls/
python manage.py runserver

Создание суперюзера

python manage.py createsuperuser

Админ-панель Django

http://<host>/admin

Swagger

http://<host>/swagger

Стек технологий

Python Django REST Framework PostgreSQL Swagger GitHub%20Actions

Development tools

Flake8 Wemake-python-styleguide Isort Black

About

License:MIT License


Languages

Language:Python 100.0%