/IT-meetups

Backend for IT Meetups

Primary LanguagePythonMIT LicenseMIT

Yandex FunTech IT Meetups API

Оглавление

  1. О проекте
  2. Авторы проекта
  3. Документация
  4. Стек технологий
  5. Установка зависимостей
  6. Запуск
  7. CI/CD
  8. Frontend

О проекте

Сервис для участников it мероприятий.

https://meetup.ddns.net/

Авторы проекта

Команда:

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

Документация сгенерирована при помощи drf-spectacular.

Swagger

Redoc

Стек технологий

Python Django Django REST Framework PostgreSQL Docker Nginx drf-spectacular simple-jwt GitHub

Установка зависимостей для локального разворачивания проекта

  1. Склонируйте репозиторий:
  git clone git@github.com:yandex-funtech-it-events/backend.git
  cd backend
  1. В корневой директории создайте .env файл:
  cd backend
  touch .env
  1. Заполните по примеру своими значениями: скопируйте этот файл

Запуск

Запустите контейнеры с проектом следующей командой:

  docker compose up -d

Выполните миграции:

  docker compose exec backend python manage.py makemigrations
  docker compose exec backend python manage.py migrate

Создайте суперпользователя:

  docker compose exec backend python manage.py createsuperuser

Зайти в админ-панель: Admin

Посмотреть документацию: Swagger

CI/CD

Описание и настройка

  • при пуше в любую ветку запускаются тесты
  • при мёрдже PR в ветки develop проект запускается на удалённом сервере
  • при мёрдже PR в ветку main проект запускается на удалённом сервере

Для корректной работы CI/CD необходимо создать секретные переменные репозитория (Repository secrets):

DOCKER_USERNAME=<docker_username>
DOCKER_PASSWORD=<docker_password>

SERVER_HOST=<server_pub_ip>
SERVER_USER=<username>

SSH_KEY=<--BEGIN OPENSSH PRIVATE KEY--...--END OPENSSH PRIVATE KEY--> # cat ~/.ssh/id_rsa
SSH_PASSPHRASE=<ssh key passphrase>

Покрытие тестами

coverage 84% total

Frontend

Ссылка на репозиторий

Оглавление