Атестаційні завдання K2 ERP/Система контролю версій
Зовнішній вигляд
Модуль контролю версій файлів, кодів і документів із журналом змін та можливістю відновлення
Реальний бізнес-контекст
Підприємство:
- розробляє програмне забезпечення, документи, графіку або інші цифрові ресурси;
- потребує зберігання всіх версій змін;
- має відслідковувати, хто і коли вніс зміни;
- повинно мати можливість відновлювати попередні версії в разі помилок;
- проводить аудит змін для безпеки та відповідності стандартам.
Необхідно:
- вести базу версій файлів;
- зберігати історію змін;
- організувати контроль доступу до редагування і перегляду;
- підтримувати можливість порівняння версій.
Основні завдання
1. Структура довідників
Довідник «Проекти»
Поля довідника:
- назва проекту;
- опис;
- відповідальний користувач або команда;
- дата створення.
Довідник «Типи файлів»
Типи файлів:
- програмний код;
- документація;
- графіка;
- інше.
2. База «Файли проекту»
Колонки бази
- проект;
- назва файлу;
- тип файлу;
- статус:
- активний;
- архівований;
- видалений;
- дата створення;
- відповідальний користувач.
Функціонал
- створення нового файлу в проекті;
- завантаження початкової версії файлу.
3. База «Версії файлів»
Колонки бази
- файл;
- номер версії:
- v1;
- v2;
- v3;
- наступні версії;
- дата оновлення;
- користувач, який вніс зміни;
- опис змін — commit message;
- файл версії;
- порівняння змін — для текстових документів і коду.
Функціонал
- завантаження нової версії файлу;
- зберігання старих версій в архіві;
- порівняння двох версій — diff для текстових документів або коду;
- відновлення будь-якої версії як поточної.
4. Журнал змін
Хронологія всіх змін у проектах і файлах:
- дата;
- хто змінив;
- який файл;
- яка версія;
- опис змін.
Функціонал
- пошук по користувачу;
- пошук по проекту;
- пошук по даті;
- пошук по типу файлу.
5. Контроль доступу
Права доступу
- перегляд;
- завантаження нової версії;
- відновлення версії;
- видалення файлів або версій — для адміністраторів.
Ролі користувачів
- користувач;
- менеджер проекту;
- адміністратор.
6. Додаткові функції
- робота через AJAX для оновлення журналу змін у реальному часі;
- підтримка роботи з великими файлами через chunk upload;
- імпорт / експорт файлів архівом ZIP;
- автоматичне створення бекапів усіх файлів і версій.
Технічні вимоги
| Параметр | Опис |
|---|---|
| Бекенд | K2 Cloud ERP на Python або PHP |
| БД | PostgreSQL або MySQL |
| Фронтенд | HTML5, JavaScript, AJAX, Fetch API або Axios |
| UI-компоненти | DataTables для проектів, файлів і версій; Select2 для пошуку по проектах |
| Файли | Збереження на локальному сервері або Amazon S3 / Google Drive, опціонально |
| Друк | Генерація звітів про зміни у PDF або Excel |
Критерії оцінки
| Критерій | Бали |
|---|---|
| Реалізація бази проектів, файлів і версій | 20 |
| Організація журналу змін і контроль доступу | 20 |
| Можливість порівняння і відновлення версій | 20 |
| Інтерактивність через AJAX і масштабованість системи | 20 |
| Зручність роботи з великими об’ємами даних | 20 |
Примітка
Система контролю версій — критично важлива для управління життєвим циклом:
- документів;
- програмного коду;
- дизайн-макетів;
- іншої цифрової інформації.
Вона забезпечує:
- прозорість змін;
- надійність збереження історії;
- швидке відновлення у разі помилок.