developed by Nikita Kuznetsov
-
Разработка информационной системы для создания обучающих курсов.
-
Система входа на сайт
- регистрация
- вход
- выход
- изменение данных
- изменение пароля
-
Личный кабинет
- никнейм
- почта
- пароль
- дата регистрации
- курсы в процессе
- курсы в которых я админ
- настройка уведомлений о курсах
-
Система поиска подходящих курсов и специализаций
- текстовое поле пойска
- флаг пойска по названию
- флаг пойска по предметной области
- флаг пойска по создателю курса/специализации
- фильтр выборки по специализациям
- фильтр выборки по курсам
- поле поиска среди всех предметных областей
- поле поиска среди всех создателей курса
-
Система просмотра и создания курсов
- Редактор информации о курсе
- Какая специализация
- Информация/описание (4к символов) - форматируемая
- Редактор курса
- Видим карту из разделов курса (схема курса)
- Страница информации о курсе от лица обычного пользователя
- Добавление комментариев
- Удаление своего комментария
- Редактирование своего комментария
- Добавление комментария на другой комментарий
- Добавление комментария в ответ на другой комментарий
- Просмотр текста описания
- Просмотр рейтинга
- Выставление рейтинга (только по прохождению опр части курса)
- Информация о создателях
- Постер курса сверху
- Название курса сверху
- Предметная/ые области затрагиваемые в курсе и главные
- Кнопка "Хочу пройти"
- Кнопка "Начать курс"
- Порядок прохождения курса
- После подтверждение "начать курс" курс добавляется в активные для текущего юзера
- Видим карту из разделов курса
- Система уведомлений и планирования
- После подтверждение
- Редактор информации о курсе
-
Система планирования задач
- календарь с пометками
-
Система оповещения
- о предстоящих курсах в организации
- о необходимости повторения материала
-
Кнопка "хочу в организацию"
Для начала установите python3 версии не ниже 3.7 (https://www.python.org/downloads/) Установите node.js вместе с npm версии выше 7.14 (https://nodejs.org/en/) установите pipenv (подробнее здесь: https://semakin.dev/2020/04/pipenv/)
cd нужный каталог, где будет лежать код приложения
git clone https://github.com/alchemistOfWeb/forumKEI.git
cd forumKEI/django
pipenv install # чтобы установить все зависимости проекта
cd ../reactapp
npm install # чтобы установить зависимости для react
Для начала скопируйте файл .env.example и уберите строку .example
из названия копии (оставьте только .env
)
Создайте секретный ключ и добавьте в настройки соответствующими командами:
pipenv run python manage.py shell
>>> from django.core.management.utils import get_random_secret_key
>>> print(get_random_secret_key()) # скопируйте полученный командой ключ
>>> exit()
pipenv run dotenv set SECRET_KEY "{sk}" # заместо {sk} должен быть полученный выше ключ
По умолчанию используется sqlite в качестве тестовой бд. Если хотите то вы можете установить свои настройки для бд в settings.py.
Информация о подключении к другим бд: https://docs.djangoproject.com/en/3.1/ref/databases/
Сделайте миграции в вашу бд
python manage.py migrate
python manage.py create superuser
name: ******* # придумайте, например admin
pas: ********** # придумайте, например admin
Запуск тестового сервера для бекенда
../django/
pipenv run python manage.py runserver
Тестовый сервер для фронтенда (запускайте из новой вкладки терминала)
../reactapp/
npm install
Регистрация, вход реализованы с помощью djoser.
Cтандартно из коробки django
Новый раздел можеть добавить только адмим в админке
Можно перейти и просмотреть комментарии.
Новые комментарии могут создавать только зарегистрированные и незаблокированные пользователи.