Skip to content

Версія 1.1

Latest

Choose a tag to compare

@Anima55 Anima55 released this 26 Nov 19:47
450f963

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 - обмежене управління співробітниками
    

Валідація даних:

  • Перевірка обов'язкових полів
    
  • Валідація типів даних
    
  • Унікальність імен користувачів
    
  • Перевірка цілісності зовнішніх ключів