Skip to content

rorik302/Otus_School

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Nov 15, 2020
3b5bca2 · Nov 15, 2020

History

49 Commits
Oct 30, 2020
Oct 22, 2020
Oct 21, 2020
Nov 1, 2020
Oct 30, 2020
Nov 15, 2020
Sep 10, 2020
Sep 10, 2020
Sep 6, 2020
Sep 7, 2020
Oct 18, 2020
Sep 7, 2020
Sep 10, 2020
Sep 7, 2020
Sep 6, 2020
Nov 15, 2020
Sep 7, 2020

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