Бэкэнд для приложения EcoHub. Используется база данных mongo.
- Развернуть mongo локально:
docker-compose -f deployment/local/docker-compose.yaml up -d
- Запуск апи пользователя:
Для корректной работы отправки писем по почте нужно вписать корректный почтовый адрес и пароль в перемнные среды (см.
python run.py user
deploy/.env.example). Можно запросить у команды разработки. - Запуск апи админа:
python run.py admin
- Загрузить фикстуры:
mongorestore --db eco ./src/fixtures/simple/
- Установить зависимости для тестов
pip install -r requremets-test.txt
- Перед запуском тестов необходимо развернуть локально монгу (из шага Локальный запуск).
- Запуск тестов
export PYTHONPATH=$(pwd) cd src/tests/ pytest
Имеется три апи:
- eco_api - основное пользовательское апи. Используется на проде. Поднимается на 5000 порту.
- eco_api_stage - пользовательское апи. Используется для демонстрации нового функционала, который может сломать обратную совместимость. Поднимается на 7000 порту.
- eco_api_admin - админское апи. Используется на проде. Поднимается на 8000 порту.
Для развертывания понадобятся консольные команды docker и docker-compose.
- Создать в папке deployment
.envфайл (скопировать.env.exmaple) - В корнь проекта скопировать сертификаты или создать с помощь команды:
openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
- Собрать образ:
cd deployment [sudo] docker-compose build - Запутстить:
[sudo] docker-compose up -d
- Проверить, что все работает:
[sudo] docker ps
Сканировать все места, нуждающиеся в переводе:
pybabel extract -F src/translations/babel.cfg -k lazy_gettext -o src/translations/messages.pot srcСоздать переводы:
pybabel update -i src/translations/messages.pot -d src/translations-- На этом шаге в файл messages.po добавляем переводы
Скомплировать перевод:
pybabel compile -f -d src/translations