Skip to content
В настоящее время модульный журнал доступен всем студентам очной формы обучения.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
notes
scripts
src
.hgignore
.travis.yml
README.md
TracingConnectionLeaks.patch
additionalUsers.json
modules-journal.iml
nb-configuration.xml
oauthProvider.md
pom.xml
users.json
usersFromRanduss.json
usersFromRanduss1.json

README.md

Модульный журнал МГТУ Станкин Build Status

Веб-интерфейс для просмотра оценок студентами, разрабатываемый для МГТУ Станкин. Также может использоваться как средство OAuth2-аутентификации студентов на внутренних сервисах МГТУ Станкин (см oauthProvider.md).

Сообщения об ошибках и пожелания вы можете оставить здесь.

Сборка и инсталяция

Для сборки из исходников необходим maven и JDK 8.

Сборку можно осуществить командой:

mvn clean install -DskipTests

Собранное веб приложение будет располагаться по адресу /target/modules-journal.war и предназначено для развертывания на сервере приложений Wildlfy Application Server 10.1.0.Final, скачать который можно по ссылке.

Конфигурация

В папке ${jboss.server.config.dir} (например, $JBOSS_HOME/standalone/configuration) должен находиться файл mj.properties следующего содержания :

oauth.google.clientid=клинет_ид_приложения_в_google
oauth.google.secret=секрет_приложения_в_google
oauth.vk.clientid=клинет_ид_приложения_в_vk
oauth.vk.secret=секрет_приложения_в_vk
oauth.yandex.clientid=клинет_ид_приложения_в_yandex
oauth.yandex.secret=секрет_приложения_в_yandex
oauth.callbackurl=http://localhost:8080/mj/callback (или другой при развертывании на сервере)
service.email=почтовый ящик с которого сервер будет отправлять письма
service.recoveryurl=http://localhost:8080/mj/recovery

Postgres

Для работы приложения на сервере должен быть установлен PostgreSQL.

Сервер WildFly должен иметь поддержку JDBC-драйвера для postgresql. Для добавления его нужно выполнить следующие команды:

./jboss-cli.sh 

И внутри него:

connect
module add --name=org.postgresql --slot=main --resources=путь-куда-вы-скачали-драйвер --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver)

Настройки доступа к базе (url, логин, пароль) должны быть указаны в конфигурации WildFly (например, $JBOSS_HOME/standalone/configuration/standalone.xml) в секции urn:jboss:domain:datasources:4.0

        <subsystem xmlns="urn:jboss:domain:datasources:4.0">
            <datasources>
                <datasource jndi-name="java:jboss/datasources/mj2" jta="false" pool-name="mj-pg-datasource" enabled="true" use-java-context="true">
                    <connection-url>jdbc:postgresql://localhost:5432/mj</connection-url>
                    <driver>postgres</driver>
                    <security>
                        <user-name>login</user-name>
                        <password>password</password>
                    </security>
                </datasource>
                ...

Почта

Для отправки почты почтовый сервер должен быть указан в конфигурации Wildfly:

<subsystem xmlns="urn:jboss:domain:mail:2.0">
    <mail-session name="default" jndi-name="java:jboss/mail/Default">
        <smtp-server outbound-socket-binding-ref="mail-smtp" ssl="true" username="..." password="..."/>
    </mail-session>
</subsystem>

и, например:

    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        ...
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="smtp.yandex.ru" port="465"/>
        </outbound-socket-binding>
    </socket-binding-group>

Запуск

Развертывание можно осуществить командой:

mvn wildfly:deploy -DskipTests -Dwildfly.hostname=адрес_сервера

Тестирование

Для выполнения тестов (mvn test) необходимо указать в переменной окружения JBOSS_HOME путь к установленному серверу Wildfly.

Для исполнения ArquillianTest необходимо предварительно создать в Postgres пользователя mj_test с пустым паролем и базу данных mj_test. Сделать это можно (в Ubuntu) командами:

sudo -u postgres createuser mj_test -d -P
sudo -u postgres createdb mj_test -E UTF8 -l en_US.UTF-8 -O mj_test

При запросе ввода пароля в качестве пароля оставить пустую строку.

Работа с приложением

Для входа в систему по умолчанию используется логин admin и пароль adminadmin. Их можно изменить при входе.

Для загруки данных о студентах необходимо сначала загрузить "эталон" (пример эталона: src/test/resources/newEtalon.xls), кликнув по кнопке Выбрать Файлы под надписью Загрузить эталон, а затем загрузть xls-файлы модульных журналов (пример журнала: src/test/resources/information_items_property_2349.xls), кликнув по кнопке Выбрать Файлы под надписью Загрузить файлы с оценками, или перетащить их из файлового менеджера в на поле Перетащите файлы.

После этого в таблице слева окажется список студентов, и, если кликнуть на студента в списке, то справа будет отображены его текущие оценки.

Также доступен поиск по имени студента и группе.

Кликнув по кнопке Аккаунт в правом верхнем углу экрана можно отредактировать пароль администратора.

Кликнув по кнопке Редактировать рядом с фамилией студента (становится активной после выбора студента) можно отредактировать данные для аутентификации студентов.

You can’t perform that action at this time.