Skip to content

rorik302/Otus_School

Repository files navigation

Установка

sudo docker-compose up -d build

Наполнение БД

Чтобы заполнить БД начальными данными, нужно запустить bash

docker-compose exec app bash

Затем можно приступить непосредственно к заполнению

python manage.py fill_users, чтобы заполнить преподавателей и студентов.
python manage.py fill_courses, чтобы заполнить курсы, модули и занятия.

Инструкция

Открыть в браузере адрес 0.0.0.0:8000. Будет показан список всех курсов.

Чтобы посмотреть информацию о курсе, нужно нажать на кнопку Открыть на карточке курса.

На странице курса можно редактировать и удалить курс, нажав на соответсвующие кнопки.

Чтобы добавить новый курс, необходимо нажать на кнопку Добавить курс в навбаре.

Тесты

Для запуска тестов в терминале нужно выполнить команду

python manage.py test

Очереди задач

Чтобы проверить работу очереди задач, нужно заполнить поля Email и Текст. После отправки будет выполнена переадресация на список курсов.

Для проверки работы очереди задач нужно выполнить команду

docker-compose logs celery

API

api/token/ - получение токена. api/token/refresh/ - обновление токена. Нужно передать refresh-токен в POST методе. api/study/courses/ - список всех курсов. api/study/courses/<int> - информация по одному курсу. api/study/modules/ - список модулей. api/study/modules/<int> - информация по одному модулю. api/study/lessons/ - список занятий. api/study/lessons/<int> - информация по одному занятию.

Для получения информации по следующим адресам нужна авторизация

api/users/teachers/ - список преподавателей. api/users/teachers/<int> - информация по преподавателю. api/users/students/ - список студентов. api/users/students/<int> - информация по студенту.

GraphQL

Чтобы открыть веб-интерфейс GraphiQL нужно перейти по адресу graphql/.

Пример запроса: query { allCourses { id title teachers { id firstName lastName } students { id firstName lastName } } }

Тестовый frontend

Переход по адресу /webpack/ покажет список курсов и занятий, полученных с помощью fetch и axios

Авторизация по токену

При авторизации выписываются токены и сохраняются в localStorage браузера. В профиле пользователя можно обновить access-токен

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published