Каждый год преподаватели вузов подают заявки на повышение квалификации, стремясь к продвижению по службе. Каждый год большое количество преподавателей подают заявки на оценку квалификации, поэтому необходимо организовать группу экспертов (преподавателей с высокой квалификацией, образованием и должностью), чтобы оценить материалы подавших заявки. Из этого следует выбрать заявки, соответствующие критериям продвижения, и исключить заявки, не соответствующие этим критериям. Ранее метод отбора экспертов заключался в голосовании, что было неэффективным и занимало много времени, что затрудняло управление. В рамках данного проекта система экспертного банка вузов автоматически формирует экспертов, что повышает эффективность и упрощает управление. Также система позволяет точно контролировать критерии отбора, формируя более соответствующий состав экспертного совета.#### Технологии Технологии фронтенда включают HTML5, CSS3, JavaScript (синтаксис ES6), JQuery, Bootstrap, SweetAlert, FontAwesome, Vue.js (в небольшом количестве). Фронтенд использует SSM-фреймворк (MyBatis заменен на MyBatisPlus).
Среда разработки системы: IDEA2018.2 + MySQL8.0.14 + Tomcat9.0.12 Теоретически для MySQL и Tomcat нет строгих требований к версиям, но они не тестировались, поэтому рекомендуется использовать близкие версии. Для MySQL, если ваша база данных версии 6.0 и ниже, вам потребуется изменить конфигурационный файл MySQL-драйвера.#### Структура каталога
├─resources ---- Дополнительные ресурсы
│ ├─img ---- Изображения для README.md
│ └─teacher.sql ---- Основная база данных
├─src
│ └─main
│ ├─java/cn/edu/suse/teacher ---- Java-код
│ │ ├─annotation ---- Аннотации
│ │ ├─controller ---- Контроллер
│ │ │ ├─emitter ---- Используемый в слое Controller эмиттер
│ │ │ ├─entity ---- Используемые в слое Controller сущности, взаимодействующие с фронтендом
│ │ │ └─validator ---- Валидатор
│ │ ├─entity ---- Слой Model, соответствующий таблицам базы данных и представлениям
│ │ ├─exception ---- Пользовательские исключения
│ │ ├─interceptor ---- Интерцепторы
│ │ │ └─permission ---- Интерцепторы для проверки прав доступа
│ │ ├─mapper ---- Интерфейсы мапперов и xml-файлы
│ │ ├─service ---- Интерфейсы слоя Service
│ │ │ └─impl ---- Реализации интерфейсов слоя Service
│ │ ├─util ---- Утилиты
│ │ │ ├─cache ---- Утилиты кэширования
│ │ │ ├─cipher ---- Утилиты шифрования
│ │ │ ├─email ---- Утилиты отправки электронной почты
│ │ │ └─generator ---- Утилиты генерации кода MyBatisPlus
``` │ │ └─view ---- Слой SpringMVC представлений
│ ├─resources ---- Ресурсы
│ │ ├─mybatis
│ │ │ └─mybatis.xml ---- Конфигурационный файл MyBatisPlus
│ │ ├─properties
│ │ │ ├─db.properties ---- Конфигурация адреса базы данных
│ │ │ └─email.properties ---- Конфигурация отправки электронной почты
│ │ ├─spring
│ │ │ ├─spring-mvc.xml
│ │ │ ├─spring-mybatis.xml
│ │ │ ├─spring-transition.xml
│ │ │ └─spring-utils.xml ---- Конфигурация инжекции собственных утилит, таких как утилиты кэширования и отправки электронной почты
│ │ └─log4j.xml ---- Конфигурация логирования log4j
│ └─webapp
│ ├─css ---- Внешние CSS-файлы
│ ├─css2 ---- Локальные CSS-файлы
│ ├─fonts ---- Шрифты
│ ├─img ---- Изображения
│ ├─js ---- Сторонние JS-файлы
│ ├─js2 ---- Собственные JS-файлы
│ ├─less
│ ├─scss
│ ├─WEB-INF
│ │ ├─lib
│ │ ├─views ---- Директория страниц, доступ к которой не требуется
│ │ │ ├─admin ---- Страницы для пользователей с правами администратора
│ │ │ ├─extract ---- Страницы для пользователей с правами проверки```
│ │ │ ├─init ---- страницы для пользователей с уникальными правами, доступные только при первом запуске системы
│ │ │ └─login ---- страницы доступные после входа в систему
│ │ └─web.xml
│ └─index.jsp ---- страница перенаправления, перенаправляет на страницу входа
├─.gitignore ---- git
├─README.me ---- readme
├─package-lock.json
└─pom.xml ---- maven
База данных использует MySQL. После создания базы данных импортируйте файл teacher.sql
. В данной базе данных уже содержатся некоторые базовые данные, такие как данные о факультетах, отделах, званиях и уровнях доступа. Если данные не соответствуют требованиям, их можно изменить. Поскольку в данной системе отсутствуют функции для управления базовыми данными (изменение данных о отделах), эти данные можно изменять только напрямую через базу данных.
src/main/java/resources/properties/db.properties
, содержащий базовые данные о базе данных. Содержимое файла представлено на следующем рисунке:com.mysql.jdbc.Driver
В IntelliJ IDEA можно напрямую создать пакет, выбрав Build -> Build Artifacts -> teacher.war -> build. По умолчанию IDEA сохраняет созданный war-файл в директории target, и его можно просто скопировать.
Для доступа к проекту введите адрес http://ip:port/war-файл в браузере. При первом доступе необходимо выполнить начальную настройку системы.
Тестовый адрес: http://two.lixunda.top/teacher/
Тестовый аккаунт: 1393886097@qqcom (аккаунт администратора, аккаунт проверяющего можно настроить самостоятельно)
Тестовый пароль: password
В данной системе представлены два типа пользователей: администратор и проверяющий. В зависимости от данных, система разделена на модули входа, управления системой, управления предметами, управления экспертами, управления экспертными группами, управления результатами отбора и самого отбора. Модуль входа включает функции входа и восстановления пароля, модуль отбора является уникальным модулем для аккаунта проверяющего, только проверяющий имеет права на отбор членов экспертной группы.
Модуль инициализации
Модуль инициализации используется для настройки аккаунта администратора и инициализации базовых данных системы при первом использовании.
Модуль входа
Модуль восстановления пароля
Модуль управления экспертами
Модуль управления экспертными группами
Модуль управления результатами отбора
Пользователь не существует или у него недостаточно прав. В данной системе используются представления, поэтому пользователю необходимо иметь права на выполнение запросов к представлениям.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )