Skip to content

alchemistOfWeb/Falsum-verum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 

Repository files navigation

forumKEI

developed by Nikita Kuznetsov

1. Формулировка тз:

Общие требования:

  • Разработка информационной системы для создания обучающих курсов.

  • Система входа на сайт

    • регистрация
    • вход
    • выход
    • изменение данных
    • изменение пароля
  • Личный кабинет

    • никнейм
    • почта
    • пароль
    • дата регистрации
    • курсы в процессе
    • курсы в которых я админ
    • настройка уведомлений о курсах
  • Система поиска подходящих курсов и специализаций

    • текстовое поле пойска
    • флаг пойска по названию
    • флаг пойска по предметной области
    • флаг пойска по создателю курса/специализации
    • фильтр выборки по специализациям
    • фильтр выборки по курсам
    • поле поиска среди всех предметных областей
    • поле поиска среди всех создателей курса
  • Система просмотра и создания курсов

    • Редактор информации о курсе
      • Какая специализация
      • Информация/описание (4к символов) - форматируемая
    • Редактор курса
      • Видим карту из разделов курса (схема курса)
    • Страница информации о курсе от лица обычного пользователя
      • Добавление комментариев
      • Удаление своего комментария
      • Редактирование своего комментария
      • Добавление комментария на другой комментарий
      • Добавление комментария в ответ на другой комментарий
      • Просмотр текста описания
      • Просмотр рейтинга
      • Выставление рейтинга (только по прохождению опр части курса)
      • Информация о создателях
      • Постер курса сверху
      • Название курса сверху
      • Предметная/ые области затрагиваемые в курсе и главные
      • Кнопка "Хочу пройти"
      • Кнопка "Начать курс"
    • Порядок прохождения курса
      • После подтверждение "начать курс" курс добавляется в активные для текущего юзера
      • Видим карту из разделов курса
    • Система уведомлений и планирования
      • После подтверждение
  • Система планирования задач

    • календарь с пометками
  • Система оповещения

    • о предстоящих курсах в организации
    • о необходимости повторения материала
  • Кнопка "хочу в организацию"








2. Установка и настройка

1 Установка зависимостей

Для начала установите 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

2 Секретный ключ

Для начала скопируйте файл .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} должен быть полученный выше ключ

3 Настройка базы данных

По умолчанию используется sqlite в качестве тестовой бд. Если хотите то вы можете установить свои настройки для бд в settings.py.

Информация о подключении к другим бд: https://docs.djangoproject.com/en/3.1/ref/databases/

4 Миграции

Сделайте миграции в вашу бд

python manage.py migrate

5 Для доступа к админке

python manage.py create superuser
name: ******* # придумайте, например admin
pas: ********** # придумайте, например admin

6 Запуск тестового сервера

Запуск тестового сервера для бекенда

../django/

pipenv run python manage.py runserver

Тестовый сервер для фронтенда (запускайте из новой вкладки терминала)

../reactapp/

npm install

3. Описание функционала приложения

регистрация/вход

Регистрация, вход реализованы с помощью djoser.

пользователи

Cтандартно из коробки django

Разделы

Новый раздел можеть добавить только адмим в админке

Поднятые темы

Можно перейти и просмотреть комментарии.

Комментариев(в теме)

Новые комментарии могут создавать только зарегистрированные и незаблокированные пользователи.