antaliadom-team / backend

Бэкэнд проекта АнталияДом
http://antalyadom.telfia.com/api/docs/
0 stars 0 forks source link
api-rest django django-rest-framework python

ci workflow codecov Django DRF


AntalyaDom


Бэкэнд проекта "Анталия Дом"

Анталия Дом - сайт агенства недвижимости. Бэкенд проекта представляет собой RESTful API, позволяющий регистрироваться новым пользователям, получать доступ к объектам недвижимости, добавлять объекты в избранное, оставлять заявку на подбор объекта недвижимости или заявку на понравившейся объект. Заявки отправляются по емейлу пользователю и администраторам. Помимо этого, бэкенд выдает некоторые статические страницы, например, информацию о команде проекта.

Для проекта написан ci/cd пайплайн с автоматической проверкой форматирования кода при открытии пул-реквестов, автоматическим тестированием при мерже в основую ветку разработки и деплоем на тестовый сервер. Дополнительно происходит автоматический деплой документации API при изменениях.

Содержание

Документация к проекту

⬆️ Наверх

Как приступить к разработке?

  1. Клонировать репозиторий git clone https://github.com/antaliadom-team/backend.git
  2. Перейти в папку с проектом cd backend
  3. Создать и активировать виртуальное окружение
     python -m venv .venv
     source env/bin/activate
  4. Установить зависимости
     python -m pip install --upgrade pip
     pip install -r requirements.txt
  5. В папке backend cоздать файл .env по шаблону:
     EMAIL_HOST_USER=antalyadom@telfia.com
     EMAIL_HOST_PASSWORD=<Пароль спрашивайте в дискорде>
     SECRET_KEY=some-random-secret-django-key
     ALLOWED_HOSTS="127.0.0.1 localhost backend"
     DEBUG=True
     CORS_WHITELIST="http://localhost:3000 http://localhost:8080"
  6. Применить миграции
     python manage.py migrate
  7. Опционально: В отдельном терминале запустить воркер celery (требуется также Redis)
     celery -A antalia_project worker -l info -B

    6.1. Для Windows у celery есть специальный костыль.

    celery -A your-application worker -l info --pool=solo
  8. Перейти в ветку разраработки git checkout dev
  9. Из ветки dev создать и перейти в ветку с названием вашей работы git checkout -b feature/api
  10. Запушить изменения с коммитом "добавляет эндпоинт каталога"
  11. Радоваться что всё прошло успешно :tada:

⬆️ Наверх

Несколько требований к проекту

⬆️ Наверх

Пару слов о том как работать с git

⬆️ Наверх

Использованные технологии

Авторы: