ALFA - реализация тестовго задания с единственным эндпоинтом http://localhost:8000/uploadfile/, принимающий python-файл, проверяет его на валидацию и запускает с очередностью каждый час продолжительностью 1 неделя в определенный интервал времени. Данный файл содержит скрипт, который создает записи для последующей отправки смс. Также данное приложение отправляет смс с такой же периодичность как и запускается скрипт.
Стек технологий: Python 3.12, FastApi, MongoDB. Запуск приложения:
- docker-compose build
- docker-compose up
- Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/account_name/alfa/
-
Перейти в проект(где находится файл main.py).
-
Cоздать и активировать виртуальное окружение:
python3 -m venv env
source env/bin/activate
-
Установить зависимости из файла requirements.txt:
python3 -m pip install --upgrade pip
pip install -r requirements.txt
Переданный файл .env сохраните в корне папки alfa
Для запуска сервиса необходимо запустить его веб-приложение: uvicorn main:app --log-config=log_conf.yaml
РАБОТА СЕРВИСА API: На эндпойнт http://localhost:8000/uploadfile/ отправьте POST-запрос с python-файлом(и заголовком: "-H 'Content-Type: multipart/form-data'") Сервис обрабатывает файл и возвращает ответ об успешности или инфо об ошибке. В последующем файл будет запускаться 7 дней в указаный промежуток времени и отправлятся смс клиентам(в данной реализации интеграция с смс-сервисом отсутсвует)
ДОРАБОТКА: покрыть пложение тестами и подключить sms_сервис
Автор: Микутайтис Денис. Почта: [email protected] Телеграм: @luka_br