Сервис онлайн погоды Yandex Weather
Создать файл .env с переменными окружения для работы с базой данных PostgreSQL:
# Ключ доступа Yandex API
X_YANDEX_API_KEY=12345678951231545abcdefgh
# Токен бота
BOT_TOKEN=fgdjhj1bnng3h2315gh5x2dc1h
# Указываем, что работаем с postgresql
DB_ENGINE=django.db.backends.postgresql
# Имя базы данных
DB_NAME=ya_weather
# Логин для подключения к базе данных
POSTGRES_USER=postgres
# Пароль для подключения к БД (установите свой)
POSTGRES_PASSWORD=postgres
# Название сервиса (контейнера)
DB_HOST=db (localhost для локального подключения к БД)
# Порт для подключения к БД
DB_PORT=5432
# PGAdmin
[email protected]
PGADMIN_DEFAULT_PASSWORD=12345
Перейти в директорию infra:
cd infra
Создаем и запускаем сервисы приложения:
docker-compose up -d --build
Создать базу данных в контейнере db:
psql -U postgres -c 'create database ya_weather;'
Выполнить миграции в контейнере backend:
python manage.py migrate
Импортировать данные:
python manage.py import_json --path ./data/import-russian-cities.json --model YandexWeatherModel
Swagger документация проекта:
http://127.0.0.1/api/schema/swagger-ui
Доступ PGAdmin:
http://127.0.0.1/pgadmin4
- Poetry
Зависимости и пакеты управляются через poetry. Убедитесь, что poetry установлен на вашем компьютере и ознакомьтесь с документацией.
- Устанавливаем Poetry версия 1.4.0
curl -sSL https://install.python-poetry.org | python - --version 1.4.0
- Добавляем Poetry в переменную среды PATH
"$HOME/.local/bin" для Unix.
"%APPDATA%\Python\Scripts" для Windows.
- Docker
- Файлы requirements
Файлы редактировать вручную не нужно. Обновление происходит автоматически через pre-commit хуки. - pre-commit хуки
Документация
При каждом коммите выполняются хуки перечисленные в .pre-commit-config.yaml. Если при коммите возникает ошибка, можно запустить хуки вручную:pre-commit run --all-files
- Клонировать репозиторий и перейти в него в командной строке:
git clone [email protected]:agatinet31/yandex_weather_bot.git cd yandex_weather_bot
- Убедитесь что poetry установлен. Активируйте виртуальное окружение. Установите зависимости
poetry shell poetry install
- Установите pre-commit хуки
pre-commit install --all
- Убедитесь, что при запуске используется правильное виртуальное окружение.
Посмотреть путь можно следующей командой:
poetry env info --path
- Запуск проекта:
python ./backend/manage.py runserver