Задача

Необходимо модернизировать простую, но полностью устраивающую по функционалу программу складского учета. Основная цель - сделать программу многопользовательской и доступной онлайн, чтобы каждый владелец конкретного склада мог в любой момент видеть актуальную информацию по другим складам. Грубо говоря, это должно работать как Google-таблица (EXCEL) в облаке, но с логикой учета.

Варианты решения

  • Вариант 1 (Рекомендуемый): Взять существующую локальную программу (прилагается в исходном задании) и добавить поддержку онлайн-синхронизации. Для этого потребуется создать серверное централизованное хранилище, которое обеспечит мгновенное обновление данных для всех пользователей. Программа должна работать через любой современный браузер (или стать прогрессивным веб-приложением PWA).
  • Вариант 2: Разработать новую версию веб-программы с нуля, максимально точную по своему логическому интерфейсу и функционалу, но с более удобным, современным внешним видом (адаптивный дизайн, современные элементы).

Функциональные требования к системе

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

Технические указания

  • Желательная платформа: современный веб-интерфейс (без написания полноценного приложения для установки на устройства).
  • При выборе решений (фреймворк, база данных) приоритет - производительность при невысоких нагрузках (до 10 пользователей, до 20 складов, до 10000 товаров).
  • Для лучшего понимания исполнителю необходимо изучить исходный код / функционал прикрепленной программы. Текущее приложение - это исполнительная программа складского учета неким файлавкинским типом.