API для проекта YaMDB - проекта соц.сети, в котором пользователи могут размещать обзоры на произведения в разных категориях (фильмы, музыка, кино) и жанрах, после чего на основании оценок формируется рейтинг произведений.
- API проекта позволяет:
- регистрироваться пользователям;
- управлять списком категорий, жанров, произведений;
- получать, размещать изменять и удалять отзывы, комментарии к ним;
- а еще у нас есть рейтинг произведений и неплохая админка!
Примечание. Сами произведения в YaMDb не хранятся, здесь нельзя посмотреть фильм или послушать музыку.
- Python==3.7
- Django==2.2.16
- djangorestframework==3.12.4
- djangorestframework-simplejwt==5.1.0
- gunicorn==20.0.4
- psycopg2-binary==2.8.6 (в идеале psycopg2)
- PyJWT==2.1.0
- pytest==6.2.4
- python-dotenv==0.20.0
- Docker
-
Клонируйте репозиторий: $ git clone https://github.com/Aysa-M/yamdb_final.git
-
Создайте виртуальное окружение (venv) - должен быть флажок в начале строки: $ python -m venv venv
-
Установите зависимости: $ pip install -r requirements.txt
-
Создайте и примените миграции: $ python manage.py makemigrations $ python manage.py migrate
-
Запустите django сервер: $ python manage.py runserver
-
Входим на боевой сервер (ваша виртуальная машина).
-
Необходимо установить Docker для дальнейшего процесса размещения проекта на боевом сервере. $ sudo apt install docker.io
-
Проверьте наличие на сервере docker-compose. Если его нет, то установите его выполнив следующие команды по порядку:
-
Установите утилиту curl для скачивания docker-compose: $ sudo apt -y install curl
-
Скачиваем docker-compose с помощью утилитыЖ $ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
Добавим право исполняемости файла docker-compose: sudo chmod +x /usr/local/bin/docker-compose
-
Проверьте, что docker-compose работает путем проверки отображения списка комманд при его вызове: docker-compose
-
-
Запустите образ под названием проекта - yamdb_final и разверните контейнеры с приложениями: docker run yamdb_final
-
Создайте и примените миграции внутри основного контейнера web: $ docker-compose exec web python manage.py makemigrations $ docker-compose exec web python manage.py migrate
-
Админка доступна по адресу http://51.250.98.29:8000/admin/
Успех! Теперь вы можете использовать код! Надеемся, что вы будете использовать его только во благо и желаем вам удачи в начинаниях!
После запуска проекта по адресу http://51.250.98.29:8000/redoc/ доступна документация для API YaMDB.
Kuzin Anatoliy, Zhirkov Pavel, Matsakova Aysa