Web-based application that helps students choose their field of study for UrFU
Данный проект является моей выпускной квалификационной работой и представляет собой прототип системы (внимание, хардкод!
) построения индивидуальной образовательной траектории, состоящий из:
- PHP-сервера, реализованного с помощью Laravel;
- веб-сайта, состоящего из главной страницы для пользователей и многостраничной административной панели;
- базы данных на PostgreSQL.
Примечание: траектории студентов в данном проекте формируются как набор курсов на выбор, из которых складывается индивидуальная образовательная траектория студента.
Веб-сайт имеет несколько важных функций:
- предоставление информации о существующих на ИРИТ-РтФ направлениях обучения;
- предоставление возможности создания образовательной карты для обучающегося на основании его выборов внутри системы;
- предоставление администраторам ресурса статистики о выборах пользователей для дальнейшего анализа в рамках создания программ обучения и разработке образовательных курсов;
- предоставление администраторам ресурса доступа к редактированию некоторых элементов базы данных через административную панель, которая защищена системой авторизации.
Основная часть проекта - интерактивный учебный план для студентов IT-направлений УрФУ, где реализованы следующие функции:
- отображение базовых дисциплин из базы даннных;
- отображение дополнительных дисциплин, разграниченных на категории, каждая из которых имеет свой цвет;
- показ и скрытие элементов внутри категорий для обеспечения убоства пользователя и компактности таблицы;
- корзина на случай, если пользователь захочет отказаться от сделанного в пользу курса выбора;
- очистка таблицы от добавленных в неё элементов;
- пресеты рекомендуемых курсов для освоения профессий;
- проверка того, что выбранные курсы не повторяются;
- проверка того, что все ячейки таблицы были заполнены;
- генерация pdf-файла с копией таблицы для печати;
- отправка данных для статистики.
Проект для интерактивного учебного плана здесь (без серверной части): https://github.com/EnjiRouz/Interactive-Schedule
Ознакомиться с содержимым дипломной работы можно здесь: Бабичева Т.Ю., ВКР.pdf
Демонстрация взаимодействия с системой для пользователя:
Демонстрация вертикальной адаптивности:
Демонстрация взаимодействия с системой для администратора:
- Настроить содержимое следующих файлов, чтобы можно было обращаться к серверу и базе даннных:
Название файла | Содержание файла |
---|---|
.env | Файл с переменными окружения (в частности, база данных) |
database.php | Файл с настройками базы данных |
main.js | Файл скриптов с переменной host, которая будет использована для запросов |
admin.js | Файл скриптов с переменной host, которая будет использована для запросов |
occupationsService.js | Файл скриптов с переменной host, которая будет использована для запросов |
- Перенести содержимое папки modeus-php на сервер;
- Произвести экспорт базы данных (создать backup-файл), если требуется;
- Провести очистку кэша через команды в терминале либо, удалив содержимое папки
/<root>/bootstrap/cache/*
php artisan config:cache
php artisan cache:clear
- Если были добавлены изменения в файлы миграций для базы данных, то необходимо произвести импорт при помощи команды в терминале либо добавить недостающие последовательности в базу данных (см. скриншоты):
php artisan migrate:fresh
Внимание! Перед шагом 4 стоит произвести экспорт базы данных (создать backup-файл)
- Произвести импорт backup-файла базы данных (если требуется);
- Произвести настройку счётчиков нужным последовательностям в базе данных при помощи выполнения запросов по типу:
ALTER SEQUENCE basic_subjects_id_seq RESTART WITH 28