db_202122z_va_prj_educatum
Презентација на развиен софтвер
Проект: Educatum - Систем за учење и евиденција на ученици
Членови на тимот:
Предмет: Бази на податоци - 2021/2022/Зимски семестар.
Предметен наставник: вонр. проф. д-р Вангел Ајановски.
Вежби водени од демонстратор: м-р Ненад Анчев.
Апстракт
Веб апликација која овозможува пребарување и пристап до наставници кои држат приватни часови и нивно
поврзување со учениците. Целта е да им се помогне на учениците да ги совладаат посакуваните знаења со избор
на наставник по желба, додека пак на наставниците им е овозможена полесна евиденција на нивните ученици и
еден вид на маркетинг.
Доколку корисникот се регистрира како наставник, избира еден или повеќе предмети кои сака и е квалификуван
да ги предава. По регистрацијата следува пристап до алатки кои му овозможуваат водење на евиденција (во која
спаѓа и плаќањето) за секој негов ученик со ID, име, презиме, телефонски број, e-mail и слично. Секој
наставник ќе може да гледа и распоред со термини.
Предметите се од различни области. Доколку предметот не постои во системот, истиот може да биде додаден. Дел
од атрибутите на предметот се ID и име. Ученикот по регистрацијата бира предмет, по што
следува листа од сите наставници на предметот, прикажани со детални информации и контакт.
Целата координација и менаџмент со системот ќе биде одговорност на администраторот.
Архитектура
Java | SDK 16.0.2 | Spring Boot - open-source Java framework кој со помош на неговите бројни корисни
библиотеки и
карактеристики од типот на Inversion of Control (Dependency Injection), Apache Tomcat Container-от,
менаџирање на POM зависности (pom.xml
фајлот) и многу други, ни го олеснува развојот на веб апликации.
Дополнително: Maven build automation tool, JPA Buddy plugin за генерирање на моделите, MVC design pattern,
CRUD операции
Слоеви:
- База на податоци: PostgreSQL 11
- Слој за поврзување со базата: Hibernate ORM 5.6.3 / JPA
- Заднинска/Бизнис логика: сервиси кои имплементираат различни интерфејси, Java8 Streams
- Контрола на интеракции: Java Spring Boot, контролери кои враќаат view изградено со помош на Thymeleaf
Template Engine
- Кориснички интерфејс: Thymeleaf Template Engine (HTML, Bootstrap)
Дизајн на базата (ERD)
Имплементирана релациска шема (RD)
Екран 1: Почетна страна на апликацијата
Приказ на почетната страна на апликацијата
Екран 2: Регистрација на наставник
Корисникот ја селектира radio-button опцијата „Наставник“
Екран 3: Додавање на предмет во листата со предмети
Доколку предметот го нема во листата, истиот може да биде
додаден
Екран 4: Предмет кој наставникот ќе го предава
Избор на предмет и внесување на опис за истиот
Екран 5: Прикачување на скениран документ
Наставникот прикачува документ (диплома, сертификат итн.) како доказ
Екран 6: Информација за успешна регистрација
Профил се уште не е активиран
Екран 7: Обид за најава на наставникот
Внес на e-mail и password
Екран 8: Неактивен профил
Профилот се уште не е активиран и наставникот не може да се најави
Екран 9: Администраторот го активира профилот
Притоа корисникот добива известување на e-mail
Екран 10: Внес на ученици
По најавата, наставникот внесува ученици на кои ќе им предава
Екран 11: Внес на часови
По договор со учениците, закажува и внесува часови
Екран 12: Приказ на часови
Часовите се сортирани според датум
Екран 13: Евиденција
Евиденција за плаќање на селектираниот ученик
Екран 14: Внес на слушан час и плаќање
Наставникот внесува час слушан од ученикот
Екран 15: Внес на плаќање
По плаќањето, сумата се ажурира
Екран 16: Администратор - преглед на предмети
Преглед/пребарување/додавање/бришење на предмети
Екран 17: Администратор - преглед на ученици
Преглед/пребарување/бришење на ученици
Екран 18: Регистрација на ученик
Корисникот ја селектира radio-button опцијата „Ученик“
Екран 19: Селекција на предмет
Предмети за коишто ученикот бара приватни часови
Екран 20: Приказ на наставници по избраниот предмет
Приказ на наставници по избраниот предмет со име и презиме
Екран 20: Контакт информации за наставникот
Контакт информации со можност за оставање рејтинг
Улоги на членовите на тимот
Членови на тимот:
Членовите на тимот имаа подеднаква улога во однос на изработката на сите фази од проектот.
Дополнителни информации
Изворниот код е достапен тука