Никита Соколов

Никита Соколов

Начинающий JS, PHP разработчик

Свет 

Итоговая лабораторная по БД за 3 курс

Описание лабораторной

В этой лабораторной использовал чистый PHP + немного js. Потратил на это я где-то от 30 до 40 часов. Задача была сделать приложение для отдела кадров. Основная идея в общем то - сделать CRUD-приложение с авторизацией и хорошо структурированной бд (со внешними ключами, каскадным удалением и т.д.). Верстка на бутстрапе конечно, она не была важна.

За работу эту получил 42 из 50 баллов. 8 баллов препод снял за отсутствие триггеров в бд. На тот момент я почему-то не увидел, где можно их использовать, поэтому и не сделал. Хотя можно было что-то придумать…

Что сделано?

  • Модульность - его можно легко масштабировать и использовать как основу для других проектов (конечно сделано не так круто, но все же).
  • Конфиг для удобного изменения различных параметров.
  • Полнотекстовый поиск по релевантности почти на всех сущностях.
  • Для всех сущностей БД есть CRUD интерфейс.
  • Группировка пользователей по доступу (гость, работник отдела кадров, директор и администратор). Для всех, кроме админа, существуют ограничения на редактирование, добавление и просмотр.
  • Пароли хранятся хешированными.
  • Список сотрудников с журналом продвижения по службе. В журнале показываются все назначения сотрудника и текущая зарплата.
  • Сортировка действующих сотрудников, уволенных и без единого назначения на должность.
  • На вкладке “Дополнительно” есть две кнопки отвечающие за запуск хранимых процедур. Одна выдает среднюю зп, а другая - кол-во сотрудников с окладом выше заданного.

Доступ в админку

Если нужен, то для всех групп пользователей в дампе бд пароль и логин по типу login/login123!! где login - имя группы пользователя. Для admin, например, пароль будет - admin123!! и т.д

Дамп базы лежит в основной папке, данные для подключения к бд надо вписать в core/config/config.php

Скрины

Так как проект на PHP, могу выложить только скрины. Кому нужно прям потыкать - переходите в репозиторий.

В списке сотрудников показываются все сотрудники и можно воспользоваться поиском:

Скрин 1

Можно нажать на имя сотрудника и перейти к детальному просмотру сотрудника:

Скрин 2 Скрин 3

Несколько скринов других сущностей:

Скрин 4 Скрин 5

Вкладка дополнительно: Скрин 6