Задача
Создать многофункциональную web-платформу, поддерживающую работу в качестве PWA (Progressive Web App), с современным технологическим стеком: Laravel 12, Vite, Tailwind, MySQL, Shadcn/UI и Recharts.
Основные функции
- Разделение ролей: Авторизация для гостей, зарегистрированных пользователей, администраторов и суперадминистраторов.
- Голосовой ввод: Возможность загрузки данных через микрофон или распознавания речи для создания задач, заполнения форм.
- Загрузка файлов: Поддержка загрузки документов, изображений и архивов через drag-and-drop или стандартные поля.
- Табель посещаемости: Система учета рабочего времени участников с возможностью отслеживания по дням, месяцам и в реальном времени.
- Обучение внутреннего ИИ: Встроенный модуль, позволяющий на платформе дообучать/учить собственную модель машинного обучения на загруженных данных (например, для распознавания медиаконтента).
Инструментарий и требования к реализации
Серверная часть
- Laravel 12 для построения API и админки
- Обработка через очереди (Queue) для тяжелых операций (анализ голоса, обучение ИИ)
- Условинционная авторизация с политиками доступа (Policies)
- API для легковесного фронта
Клиентская часть
- Внешний интерфейс на JavaScript/React (сборка через Vite)
- Tailwind для кастомизации стилей без шаблонов Bootstrap
- Shadcn/UI - готовые UI-компоненты (кнопки, диалоги, таблицы, формы)
- Recharts для построения красивых адаптивных графиков и диаграмм посещаемости и админстатистики
PWA
- Service Worker для кэширования стратегий
- Возможность установки на главный экран устройств
- Push-уведомления
Пример рабочего потока
Администратор через панель добавляет тег 'принер по заданию', а Пользователь (с простым уровнем) загружает файл табеля с рабочим временем, попутно в глобальной анкете использует голосовую диктовку (работа + пик). При рапорте система подтверждает норму дня - и у админа на графике (Recharts) отображается доля выполненных планов. Подобные данные могут питать
Дополнительные указания
- Необходим перевод интерфейса на английский язык (локализация, .lang/.json)
- Логирование всех GET/POST запросов и ошибок в отдельную таблицу
- Гарантировать WebP-aware контент
- В рутинной отчетности использовать готовые форматы