Repository navigation
ForgeRock Admin System - це веб-додаток для управління персоналом та тікетами, побудований на Flask з використанням PostgreSQL. Система має розширену систему авторизації та ролей для безпечного управління даними.
Основні функціональні можливості
🔐 Система автентифікації та авторизації
-
Рівні доступу: Curator, Manager, SuperAdmin -
Хешування паролів: Використання Werkzeug security для безпечного зберігання паролів -
Сесії управління: Захищені сесії з обмеженням часу
👥 Управління співробітниками (HelperInfo)
Доступні операції:
-
📋 Перегляд списку всіх співробітників -
🔍 Пошук за іменем, рангом, ID або кількістю попереджень -
📊 Сортування за різними полями (ім'я, попередження) -
🏷️ Фільтрація за рангом (Moder, Admin, Curator, Manager, SuperAdmin) -
➕ Додавання нових співробітників -
✏️ Редагування існуючих записів -
🗑️ Видалення співробітників (з автоматичним видаленням пов'язаних тікетів) -
📈 Експорт даних в Excel формат
🎫 Управління тікетами (TicketInfo)
Функціонал:
-
📋 Перегляд всіх тікетів -
🔍 Пошук по всіх полях тікетів -
⏱️ Сортування за витраченим часом -
⭐ Сортування за оцінкою вирішення -
🔗 Зв'язок з співробітниками через handler_helper_id -
📊 Експорт в Excel
⚙️ Адміністративна панель (SuperAdmin)
Ексклюзивні функції для SuperAdmin:
-
👨💼 Управління веб-адміністраторами -
➕ Додавання нових адміністраторів -
✏️ Зміна паролів та рангів -
🗑️ Видалення адміністраторів (з захистом від самовидалення) -
💾 Створення резервних копій бази даних -
📑 Перегляд журналу дій (logs)
🔍 Розширені можливості фільтрації
Для всіх таблиць:
-
Модальні вікна фільтрації -
Комбінований пошук по декількох полях -
Багаторівневе сортування (зростання/спадання) -
Фільтрація за рангом -
Скидання фільтрів
📊 Експорт даних
-
Експорт HelperInfo в Excel -
Експорт TicketInfo в Excel -
Підтримка українських символів (BOM) -
Експорт з урахуванням поточних фільтрів
🛡️ Система безпеки
-
Перевірка прав доступу для кожної операції -
Запобігання SQL-ін'єкціям через параметризовані запити -
Захист від несанкціонованого доступу -
Логування всіх критичних дій
📋 Журнал дій (Audit Log)
-
Запис всіх CRUD операцій -
Формат логування подібний до CLF (Common Log Format) -
Відстеження дій по користувачах -
Перегляд останніх 500 записів
💾 Резервне копіювання
-
Автоматичне створення бекапів БД -
Використання pg_dump для PostgreSQL -
Зберігання бекапів у спеціальній папці -
Логування процесу бекапу
Технічні особливості
🏗️ Архітектура
-
Backend: Flask (Python) -
База даних: PostgreSQL -
Frontend: HTML, CSS, JavaScript -
Стилі: Адаптивний дизайн з темною темою
🔄 API Endpoints
REST API для програмного доступу до даних:
-
GET /api/v1/helpers - отримання всіх співробітників -
GET /api/v1/tickets - отримання всіх тікетів -
GET /api/v1/helpers/<id> - отримання конкретного співробітника
🎨 Інтерфейс користувача
-
Темна тема з фіолетовими акцентами -
Адаптивний дизайн для мобільних пристроїв -
Модальні вікна для всіх операцій редагування -
Інтуїтивна навігація з верхнім меню
Бізнес-логіка
Ієрархія рангів:
-
SuperAdmin - повний доступ до всіх функцій -
Manager - управління співробітниками, перегляд тікетів -
Curator - обмежене управління співробітниками
Валідація даних:
-
Перевірка обов'язкових полів -
Валідація типів даних -
Унікальність імен користувачів -
Перевірка цілісності зовнішніх ключів