Skip to content

Latest commit

 

History

80 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DigiUni-Registry

Команда

  • Бордаченко Софія
  • Радько Дарія

Опис

DigiUni Registry — це консольна інформаційна система для обліку студентів, викладачів, кафедр та факультетів університету. Програма підтримує CRUD-операції, пошук, сортування, авторизацію користувачів та збереження даних у файл.

Запуск програми

При першому запуску програми система перевіряє наявність файлуDigiUni_Registry.json. Якщо файлу немає, система автоматично згенерує реалістичну стартову базу даних, щоб ви могли одразу протестувати пошук, сортування та інші функції.

  • Вимоги
    • Java 17+
    • Maven
  • Запуск
    • Відкрити клас Main
    • Запустити метод main()

Авторизація

Програма має три рівні доступу. За замовчуванням у системі зареєстровані такі користувачі (використовуйте їх для входу):

  • Адміністратор (Повний доступ + Управління користувачами)

    • Логін: admin | Пароль: admin12
  • Менеджер (Доступ до додавання, редагування та видалення даних)

    • Логін: Dasha | Пароль: 567
    • Логін: Sofia | Пароль: 123
  • Користувач / Гість (Лише перегляд, пошук та сортування)

    • Логін: Oleg | Пароль: user123

Навігація та можливості програми

Управління здійснюється шляхом введення відповідної цифри з меню та натискання Enter. Щоб повернутися до попереднього меню, завжди використовуйте 0.

  1. Інформація про університет Виводить загальну статичну довідку про НаУКМА (адреса, повна назва).

  2. Управління Факультетами

  • Для всіх: Перегляд існуючих факультетів.
  • Для Admin/Manager: Додавання нових підрозділів, редагування інформації (зміна декана), видалення.
  1. Управління Кафедрами
  • Для всіх: Перегляд існуючих кафедр.
  • Для Admin/Manager: Додавання нових підрозділів, редагування інформації (зміна завідувача), видалення.
  1. Управління студентами
  • Пошук: За ПІБ, курсом (1-6) або номером групи (1-6).
  • Сортування: За алфавітом (в межах кафедри/факультету), за курсами.
  • Для Admin/Manager: Реєстрація нових студентів, переведення на наступний курс, зміна групи, переведення на іншу кафедру, зміна статусу (навчається/академвідпустка/відрахований).
  1. Управління викладачами
  • Пошук: За ПІБ або унікальним ID.
  • Сортування: За алфавітом у межах факультету чи кафедри.
  • Для Admin/Manager: Додавання викладачів із зазначенням їх посади (від лаборанта до декана), наукового ступеня та звання, редагування даних та видалення.
  1. Адмін-панель (Доступно лише для admin)
  • Перегляд списку всіх зареєстрованих користувачів системи.
  • Зміна ролей (можна підвищити USER до MANAGER або ADMIN).
  • Видалення акаунтів (система не дозволить видалити власний акаунт).

Правила введення даних

Програма має вбудований захист від некоректного введення даних (перевірка форматів email, телефонів, дат народження). ВАЖЛИВО: Дані в системі жорстко пов'язані між собою. Якщо ви створюєте університет "з нуля", дотримуйтесь правильної послідовності додавання:

  • Спочатку додайте Викладача (він стане деканом). Примітка: для першого викладача система може вимагати кафедру. Якщо база порожня, скористайтеся стартовою генерацією.
  • Додайте Факультет (вказавши створеного викладача як декана).
  • Додайте ще одного Викладача (для ролі завідувача кафедри).
  • Додайте Кафедру (вказавши ID факультету та ПІБ завідувача).
  • Тепер ви можете додавати Студентів, закріплюючи їх за існуючими кафедрами. Примітка: Під час введення ПІБ, ID або назв кафедр для переведення, програма перевіряє, чи дійсно вони існують у базі.

Збереження даних

Усі зміни, які ви робите (редагування студентів, зміна ролей), відбуваються в оперативній пам'яті. Для того щоб зберегти дані, треба обов'язково виходьте з програми через пункт меню 0. Вихід у Головному меню. У цей момент система автоматично серіалізує всі об'єкти і перезапише JSON-файл. Якщо закрити консоль примусово (хрестиком), останні зміни буде втрачено.

  • Дані автоматично зберігаються у файл: DigiUni_Registry.json = При запуску:
    • Якщо файл існує → дані завантажуються
    • Якщо ні → створюються тестові дані

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages