Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/enjirouz/iets-individual-educational-trajectory-system

Прототип системы построения индивидуальной образовательной траектории для абитуриентов и студентов IT-направлений ИРИТ-РтФ. Web-based application that helps students choose their field of study for UrFU
https://github.com/enjirouz/iets-individual-educational-trajectory-system

admin-dashboard educational-project laravel php postgresql schedule students urfu

Last synced: 1 day ago
JSON representation

Прототип системы построения индивидуальной образовательной траектории для абитуриентов и студентов IT-направлений ИРИТ-РтФ. Web-based application that helps students choose their field of study for UrFU

Awesome Lists containing this project

README

        

# IETS-Individual-Educational-Trajectory-System
Web-based application that helps students choose their field of study for UrFU

### Описание проекта
Данный проект является моей выпускной квалификационной работой и представляет собой прототип системы (`внимание, хардкод!`) построения индивидуальной образовательной траектории, состоящий из:
* PHP-сервера, реализованного с помощью Laravel;
* веб-сайта, состоящего из главной страницы для пользователей и многостраничной административной панели;
* базы данных на PostgreSQL.

***Примечание:*** траектории студентов в данном проекте формируются как набор курсов на выбор, из которых складывается индивидуальная образовательная траектория студента.

Веб-сайт имеет несколько важных функций:
* предоставление информации о существующих на ИРИТ-РтФ направлениях обучения;
* предоставление возможности создания образовательной карты для обучающегося на основании его выборов внутри системы;
* предоставление администраторам ресурса статистики о выборах пользователей для дальнейшего анализа в рамках создания программ обучения и разработке образовательных курсов;
* предоставление администраторам ресурса доступа к редактированию некоторых элементов базы данных через административную панель, которая защищена системой авторизации.

**Основная часть проекта** - интерактивный учебный план для студентов IT-направлений УрФУ, где реализованы следующие функции:
* отображение базовых дисциплин из базы даннных;
* отображение дополнительных дисциплин, разграниченных на категории, каждая из которых имеет свой цвет;
* показ и скрытие элементов внутри категорий для обеспечения убоства пользователя и компактности таблицы;
* корзина на случай, если пользователь захочет отказаться от сделанного в пользу курса выбора;
* очистка таблицы от добавленных в неё элементов;
* пресеты рекомендуемых курсов для освоения профессий;
* проверка того, что выбранные курсы не повторяются;
* проверка того, что все ячейки таблицы были заполнены;
* генерация pdf-файла с копией таблицы для печати;
* отправка данных для статистики.

Проект для интерактивного учебного плана здесь (без серверной части): https://github.com/EnjiRouz/Interactive-Schedule
![show12](https://user-images.githubusercontent.com/26218291/80309115-3b96ed80-87ec-11ea-942e-96d6973d2352.gif)

Ознакомиться с содержимым дипломной работы можно здесь: [Бабичева Т.Ю., ВКР.pdf](https://github.com/EnjiRouz/IETS-Individual-Educational-Trajectory-System/files/4774401/-460001.pdf)

### Сценарий взаимодействия с системой для пользователя (на главной странице)
![user_scenario](https://user-images.githubusercontent.com/26218291/84565560-65e44080-ad83-11ea-8ebf-8659fe5b1f59.png)

Демонстрация взаимодействия с системой для пользователя:

![Стартовая страница](https://github.com/EnjiRouz/IETS-Individual-Educational-Trajectory-System/blob/master/start-page.gif)

Демонстрация вертикальной адаптивности:

![show](https://user-images.githubusercontent.com/26218291/84565550-58c75180-ad83-11ea-8a75-6fa2a57025db.gif)

### Сценарии взаимодействия с системой для администратора (в административной панели)
![admin_scenario](https://user-images.githubusercontent.com/26218291/84565537-45b48180-ad83-11ea-8cb1-790be011a20e.png)

Демонстрация взаимодействия с системой для администратора:

![Панель администратора](https://github.com/EnjiRouz/IETS-Individual-Educational-Trajectory-System/blob/master/admin-page.gif)

### Инструкция для запуска/большого обновления проекта на стороннем сервере
0. Настроить содержимое следующих файлов, чтобы можно было обращаться к серверу и базе даннных:

Название файла | Содержание файла
----------------------|----------------------
.env | Файл с переменными окружения (в частности, база данных)
database.php | Файл с настройками базы данных
main.js | Файл скриптов с переменной host, которая будет использована для запросов
admin.js | Файл скриптов с переменной host, которая будет использована для запросов
occupationsService.js | Файл скриптов с переменной host, которая будет использована для запросов

1. Перенести содержимое папки modeus-php на сервер;
2. Произвести экспорт базы данных (создать backup-файл), если требуется;
3. Провести очистку кэша через команды в терминале либо, удалив содержимое папки `//bootstrap/cache/*`
```php
php artisan config:cache
php artisan cache:clear
```
4. Если были добавлены изменения в файлы миграций для базы данных, то необходимо произвести импорт при помощи команды в терминале либо добавить недостающие последовательности в базу данных ([см. скриншоты](https://github.com/EnjiRouz/IETS-Individual-Educational-Trajectory-System/tree/master/database-postgresql)):
```php
php artisan migrate:fresh
```
**Внимание! Перед шагом 4 стоит произвести экспорт базы данных (создать backup-файл)**

5. Произвести импорт backup-файла базы данных (если требуется);
6. Произвести настройку счётчиков нужным последовательностям в базе данных при помощи выполнения запросов по типу:
```sql
ALTER SEQUENCE basic_subjects_id_seq RESTART WITH 28
```