Инструкция общая, как и для Windows (в cmd), так и для Linux (в терминале). Соответственно заранее должен быть проинсталлирован docker и docker-compose.
-
Склонировать репозиторий в удобную папку и перейти в локально развернутый репозиторий.
git clone https://github.com/Wester35/yadro-test-task.git
P.S.: Не обязательно клонировать через терминал или консоль
cd yadro-test-task/ -
Перейти в папку "task":
cd task/ -
Выполнить одну из следующих команд:
Если требуется запустить контейнер напрямую
docker compose up --build
Если требуется запустить контейнер в фоновом режиме
docker compose up --build -d
-
Подключиться к сайту:
Подключение к сайту проходит через localhost и порт 8008 (такой порт выбран специально чтобы избежать конфликтов с другими службами и/или проектами)
👉 http://localhost:8008
docker compose exec web pytestP.S.: При запуске контейнера автоматически выполняется команда pytest -v
Результат этого теста можно увидеть в терминале, если контейнер был запущен без дополнительных флагов (см. п.3 инструкции).
Создание суперпользователя:
docker compose exec web python manage.py createsuperuserЕсли миграции не выполнились автоматически:
docker compose exec web python manage.py makemigrationsdocker compose exec web python manage.py migrateDjango и PostgreSQL — хороший выбор для веб-разработки, потому что они интегрируются и предоставляют дополнительные возможности.
Django — веб-фреймворк на Python, который поддерживает работу с разными базами данных, включая PostgreSQL.
PostgreSQL — объектно-реляционная система управления базами данных с открытым исходным кодом, известная производительностью и расширенными функциями.
Главная страница👉 http://localhost:8008
Содержит в себе поле ввода количества пользователей, которые подгрузятся с внешнего апи и таблицу со всеми пользователями в бд сайта (таблица разделена на страницы, вывод по 20 строк)
Страница конкретного пользователя👉(пример) http://localhost:8008/1
Содержит в себе информацию о конкретном пользователе, ссылка строится по шаблону
localhost:8008/user_id
Страница случайного пользователя👉 http://localhost:8008/random
Содержит в себе информацию о случайном пользователе, чтобы получить нового случайного пользователя -> обновить страницу