Skip to content
/ edsm-v1 Public

Vue.js, верстка, DRF. Система электронного документооборота для ВУЗа. Можно посмотреть на heroku (только там пароль нужен).

Notifications You must be signed in to change notification settings

Spanri/edsm-v1

Repository files navigation

1ая версия диплома (защищено на 5). Вторая версия (в разработке) - edsm-v2

СЭД МТУСИ 💦

Vue.js / Django (rest framework) проект

Развернуть проект (работает для убунту 19.10, остальное хз)

Бекенд

  • Скачиваем проект

  • Скачиваем питон 3.7

  • Скачиваем virtualenv (я просто в synaptic скачала рандомный virtualenv)

  • Для пакета psycopg2 нужны эти штуки, скачиваем их sudo apt-get install python3.7-dev sudo apt-get install -y libpq-dev

  • Создаем venv, у меня так создается (в корне проекта):

    virtualenv --python=/usr/bin/python3.7 venv

    Указываем версию питона, чтобы точно она заюзалась, а то вдруг у вас еще какие-то версии питона есть, случайно не та может заюзаться при создании, если жестко ее не прописывать в команде выше.

  • апап

Фронтенд

Интерфейс

Интерфейс в виде скринов показан в самом низу, чтобы не мешаться тут.

Построение

Фронтенд, Vue.js

Можно не запускать, если нужно тестить только сервер! (приложение в целом тоже можно посмотреть без фронтенда, запустив только сервер, потому что на сервере уже есть папка со всем "скомпилированным" фронтендом)

Не забудьте установить npm! Для того, чтобы проходили запросы на сервер, нужно в браузере отключить cors. Например, в firefox это можно сделать с помощью дополнения "CORS Everywhere". Чтобы посмотреть фронтенд, надо сделать 3 первые команды внизу и зайти на фронтенд.

# перейти в папку с фронтендом
cd frontend

# установить зависимости
npm install

# запустить с горячей перезагрузкой localhost:8080
npm run dev

# построить для продакшена с минификацией
npm run build

# построить для продакшена и посмотреть bundle analyzer report
npm run build --report

Бекенд, Django

Не забудьте установить python!

# установить зависимости
pip3 install -r requirements.txt

# собрать статические файлы, для того, чтобы
# запустить клиент на сервере
python manage.py collectstatic

# миграция таблиц для правильной работы с бд
python manage.py migrate

# Нужно настроить глобальные переменные (для почты, для бд, для
# хранилища амазона и так далее). Все значения секретные, поэтому
# нужно писать разработчику, если он даст - сможете протестировать.
# Ниже пример настройки глобальной переменной. Это для виндовс,
# для юниксов вместо set - export
set EDMS-MAIL-PASSWORD=password

# запустить
python manage.py runserver

# зайти в администратора (данные суперюзера или админа, который есть в
# бд (то есть если если известен аккаунт на edms-mtuci.herokuapp.com и
# он админский) или суперюзера). Первая строка - создание суперюзера
# (если нет админского аккаунта)
python manage.py createsuperuser
http://localhost:8000/api/admin/login/?next=/api/admin/

# зайти в приложение, которое фронтенд
http://localhost:8000

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

Есть таблица Notif, она связывает документ и пользователя. Отношение связи показывает поле status

Status Что значит
0 Владелец
1 Не владелец, нужна подпись, очередь еще не подошла
2 Не владелец, нужна подпись, очередь подошла
3 Подпись есть, владелец подписанного документа видит уведомление
4 Подпись есть, владелец подписанного документа НЕ видит уведомление
5 Не владелец, подпись не нужна, может только смотреть документ
6 В таблице нет, ставится при возвращении документов для конкретного пользователя тем документам, которые были подписаны этим пользователем (чтобы отличить от документов, которые принадлежат пользователю и находятся в уведомлениях "Ваш документ подписали.")
7 Подписант отказался подписывать

Другие штуки

Документация на сервер

Веб-приложение (данные для входа спросить у разработчика, но он может и не дать их)

Панель администратора (данные администратора спросить у разработчика, но он может и не дать их)

Интерфейс, вход

Вход (регистрацию делает админ)
Вход

Интерфейс, главная

Главная, все документы
Главная, все документы

Главная, общий доступ (остальные вкладки похожи на "все документы")
Главная, общий доступ

Интерфейс, документ

Добавление документа
Добавление документа

Документ владельца
Документ владельца

Документ не владельца (виден ему, ибо он должен его подписать)
Документ не владельца

Подписант отказался подписывать и вот это увидел владелец документа
Отказ подписывать

Редактирование документа
Редактирование документа

Интерфейс, письма

Запрос подписи, письмо на почте
Запрос подписи

Регистрация, письмо на почте
Регистрация письмо

Сброс пароля, письмо на почте
Сброс пароля письмо

Интерфейс, профиль

Профиль с уведомлениями (фиолетовое - не прочитано)
Профиль уведомления

Редактирование профиля
Редактирование профиля

Администрирование
Администрирование

Интерфейс, другое

Смена пароля 1
Смена пароля 1

Смена пароля 2
Смена пароля 2

Помощь (открывается по ссылке в футере)
Помощь

Сделала Аня, 2019

About

Vue.js, верстка, DRF. Система электронного документооборота для ВУЗа. Можно посмотреть на heroku (только там пароль нужен).

Topics

Resources

Stars

Watchers

Forks