Общая задача

Необходимо на основе предоставленного готового прототипа интерфейса (HTML, CSS, JS) создать работающее веб-приложение, поддерживающее одновременную работу нескольких сотрудников с разных устройств.

Технологический стек (предпочтительно)

  • Бэкенд: Node.js (Express) или Python (Django)
  • Фронтенд: React или Vue
  • База данных: PostgreSQL или MongoDB
  • Реальное время: WebSockets

Ключевые требования к приложению

  • Ролевая модель: Система должна поддерживать три роли: администратор, старший механик (Master) и обычный механик. Каждой роли должен быть доступен соответствующий функционал.
  • База данных: Разработать и развернуть БД (реляционную или NoSQL) для надежного хранения всех данных системы: информация о сотрудниках, сменах, статусах задач.
  • Работа в реальном времени: Демонстрационное табло смен должно получать и отображать актуальные данные немедленно после их изменения любой из ролей, без необходимости перезагрузки страницы (через WebSockets).
  • Развертывание: Настройка серверной части и деплой приложения на сервер с возможностью доступа по выделенному доменному имени.
  • Безопасность: Обеспечить защиту с помощью механизмов авторизации, аутентификации и предотвращения атак (Login, JWT/сессии, санитизация ввода).

Что предоставляет заказчик

  • Рабочий, но статичный прототип на HTML/CSS/JS (передается исполнителю).
  • Подробное техническое задание (Пользовательские истории и сценарии).
  • Разъяснения по специфической бизнес-логике предметной области (ремонтных работ).

Что ожидает заказчик от исполнителя

  • Архитектурное предложение решения до начала разработки.
  • Польная релизация всех заявленных модулей.
  • Настройка сервера и успешный деплой.
  • Тестирование на корректность разграничения доступов.
  • Поддержка работы системы по условиям техподдержки после сдачи проекта.