Skip to content

Web application for storing impressions of visited places

Notifications You must be signed in to change notification settings

ProtKsen/impression_keeper

Repository files navigation

Places Remember

Веб приложение, позволяющее пользователям сохранять впечатления от посещенных мест.

Coverage Status

home page user profile edit place
Alt-текст Alt-текст Alt-текст
  • Приложение запущено на yandex cloud и доступно по адресу http://158.160.96.100.nip.io:8000/.

  • Приложение реализовано на Django, база данных - PostgreSQL, для входа в профиль пользователя через Google/VK используется библиотека django-allauth, карта - yandex map, менеджер зависимостей - poetry, стили Bootstrap, тестирование - pytest.

  • Разработка происходит в ветке feature. Ветка main защищена, требует создания pull-request перед слиянием. Перед каждым коммитом выполняется проверка линтерами, для чего применяется git hook pre-commit. Также используется workflow (pre-pull-request.yaml), реализующий проверку линтерами и тестирование при каждом push в ветку feature, в случае успешного прохождения всех проверок создается pull-request в ветку main.

  • Для последующего деплоя используется workflow docker-publish.yaml, создающий публичный docker контейнер.

Использование

Установка

git clone https://github.com/ProtKsen/impression_keeper.git

Установка poetry, выполняется один раз

pip install poetry
poetry config virtualenvs.in-project true

Установка зависимостей

poetry init
poetry install

Настройки окружения

Создать файл .env на базе .env.default.

Установка docker, выполняется один раз

См. https://docs.docker.com/engine/install/

Запуск базы данных

docker-compose up -d db

Запуск приложения

docker-compose up -d app

Локальный запуск тестов

poetry run pytest