Skip to content
This repository has been archived by the owner on Apr 2, 2023. It is now read-only.
/ DormServer Public archive

Dorm позволяет создавать и обрабатывать заявления с отчётами, для заселения студентов в общежития.

License

Notifications You must be signed in to change notification settings

OsmiumKZ/DormServer

Repository files navigation

DormServer Travis (.org) GitHub repo size GitHub Website GitHub last commit

Описание проекта

Данный проект позволяет автоматизировать подачу заявлений. Проект делает акцент на общежития учебного заведения. Можно следить за количеством принятых заявлений, какой гендер у комнаты, сколько свободных осталось мест и не только. Вот таблица API.
Проект использует лицензию MIT. Мы будем только рады, если вы его будете модернизировали под свои нужды.

Как это все работает?

Имеется сайт, на котором показаны (визуально) общежития, к ним этажи, а на этажах комнаты. Комнаты показывают информацию о количестве и гендере проживающих. Пользователь может выбрать для себя комнату, заполнить анкету и ее отправить. Пользователь должен скачать сгенерированный файл (песле отправки анкеты), распечатать и принести в учебное заведение.
Учебное заведение имеет доступ к базам данных отправленных заявлений и созданных когда-то отчетов. Отчеты создаются после принятия заявления (на физическом уровне). А еще, нужно будет получить доступ, чтобы что-то изменять или читать (на административном уровне).

Зачем?

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

Отдельное спасибо за:

Ссылки REST-приложения

Написано всё в кратце, но всегда можно посетить таблицу данного REST-приложения.

Метод Ссылка Описание
GET /api/db Получить данные: "Общаги", "Этажи", "Названия", "Гендеры" и "Статусы отчетов"
GET /api/search/request Получить заявление по его ID
GET /api/auth Авторизироваться и получить токен
GET /api/statistic Получить общую статистику
GET /api/doc/request Сгенерировать и получить документ "Заявление"
GET /api/doc/direction Сгенерировать и получить документ "Направление"
GET /api/room Получить комнаты (этажа)
GET /api/report Получить все отчеты из БД
GET /api/request Получить все заявления из БД
GET /api/search/name Поиск названий. Подсказка.
GET /api/search/city Текст для поиска городов.
DELETE /api/request Удалить заявление
PUT /api/active/request Сделать, как прочитанное заявление
PUT /api/status Обновляет статус в конкретном отчете
POST /api/report Создать отчет
POST /api/request Создать заявление

Важные файлы и директории

Это те файлы и директории, которей держат основу ОСНОВ этого проекта.

  • Procfile - файл для запуска приложения в heroku.com.
  • docs - директория, чтобы работать с документами в будущем.
  • sql-install - скрипты, для настройки БД.
  • config.properties - конфигурационный файл электронной почты и БД. Можно так же добовать новые конфигурации, новых или старых фреймворков.
  • DataBase.java - подключения к базам данных. Некий паттерн фасад.
  • DataConfig.java - файл, в котором хранятся "глобал переменные". Добавляет мобильность к проекту. Например: можно легко переименновать колонку таблицы базы данных.
  • heroku - директория для Heroku.
  • local - директория для локального пользования.
  • DormAPI.java - место, где находятся все CRUD API.
  • providers - тут все SQL запросы.
  • docx - директория в которой реализован фреймворк docx4j
  • ControlWrite.java - файл, который проверяет всё то, что нужно проверять, чтобы записать в БД. Например проверка: email, названий и телефонного номера.

Установка

Правильная "установка" и сборка проекта.

Настройка БД MySQL или MSSQL

Первоначально необходимо настроить сервер реляционной БД, а потом идти и поднимать СЕРФАК.
Зайдите в репозиторий и найдите директорию sql-install. Там лежат скрипты, используйте их.
Все пароли, логины можно написать вот ТУТ.
db.type = mysql или mssql. Раз ссылка и два ссылка.
Всё? Работает? Точно? Го устанавливать дальше?

За сборку проекта в основном отвечает скрипт по этой ссылке. Первым делом нам необходимо отчистить пороект. Найдите вкладку Build и нажмиет на кнопку Clean Project, либо используйте gradle через терминал, командой gradle clean.
Далее необходимо запустить скрипт gradle fatJar (Можно и через вашу IDE).
Сгенерируется JAR архив, путь $project/build/libs/.

Создайте новую директорию для вашего (только, что) сгенерированного приложения. Поместить в эту директорию: JAR и docs директорию.
В итоге у нас получилась вот такая иерархия:

┌─new-folder
├┬─docs
│├┬─patterns
││├───direction.docx
││└───request.docx
││
│└──null
│
└──dorm-keu-1.0.jar

Если все сходится, запускайте JAR через команду java -jar dorm-keu-1.0.jar.
Зайдите в браузер и перейдите по ссылке http://localhost:4567/api/db.

Создайте на Heroku dashboard, подключите dashboard к локальному git'у и замените названия тут, тут и тут. Вот пример:

~build.gradle~
group 'my-name-heroku'
applicationName = "my-name-heroku"

~Procfile~
web: ./build/install/my-name-heroku/bin/my-name-heroku

Теперь можно заливать на Heroku:

git add .
git commit -m "MyREST"
git push heroku master

Теперь он должен работать по ссылке https://my-name-heroku.herokuapp.com.

License

The MIT License (MIT)

Copyright (c) 2019 Osmium

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

About

Dorm позволяет создавать и обрабатывать заявления с отчётами, для заселения студентов в общежития.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages