school-crm

Simple CRM for Russian public schools

CRM для школ Dependabot Status

Цель

Этот проект предназначен для школ, которые испытывают потребность в том, чтобы коммуницировать с родителями своих учеников.

Возможности

  1. Открытая регистрация учеников
  2. Перевод учеников между классами
  3. Автоматический сдвиг классов (происходит ночью 31 августа)
  4. Автоматическое удаление классов, которые стали неактуальны после сдвига (вместе с учениеками)
  5. Интеграция с Mailgun (именно Mailgun потому что в нём есть квота бесплатных писем, может быть актуально для школ, у которых нет на это бюджета (видимо, всех государственных)
  6. Ролевая модель:
    1. Администратор может
      1. создавать и удалять пользователей,
      2. редактировать их профили,
      3. переводить учеников между классами и удалять их,
      4. создавать новые классы и группы,
    2. Редактор может составлять и отправлять письма

TBD

  1. Создание групп
  2. Добавление и удаление туда учеников

Настройка

Настройка приложения

Базовая настройка осуществляется в файле conf/application.conf.

db {
    url="jdbc:postgresql://localhost/crm" #JDBC url
    user="crm"
    password="crm"
}
application {
    secret="ZJPmn1iw0a7RQ8hot45KlWF/DHs3rK42m/wG0iw1bFIlzTkmTw0KRo26Lceh" # Ключ, с которым шифруется Cookie приложения
    securePort = 8443 #Порт, на котором поднимается https https версия приложения
    dateFormat = "dd/MM/yyyy" #Формат даты
}
server.http2.enabled = true
crm {
    allowedDegrees = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] # Разрешённые номера классов
    allowedLetter  = ["А", "Б", "В", "Г", "Д"] # Разрешённые буквы классов
}
mailgun {
    key = "secret-key" # Секретный ключ, с которым мы обращаемся в mailgun
}
flash.cookie {
    name = "flash"
}

Первый запуск

docker-compose -f docker-compose/docker-compose.yml up -d
mvn jooby:run

Настройка логгирования

Логгирование настраивается в conf/logback.xml так, как описано тут

Благодарности

Большое спасибо команде Excelsior JET за предоставленную лицензию на Excelsior JET Windows и Linux!