Портфель360 — цифровые сервисы школы
Школьная платформа, которая связывает кабинеты родителей и сотрудников, организацию питания, учёт проходов и работу терминалов столовой.
Клиентский проект.
О продукте
Портфель360 объединяет ежедневные школьные процессы в ролевых кабинетах. Родитель видит баланс, питание и события ребёнка; учитель работает с классами и заявками; школа и поставщик питания управляют своими операциями. В состав проекта входят веб-интерфейс, desktop-клиенты, POS столовой и Android-приложение. Клиентский проект; название заказчика не раскрывается.
Задача
Связать разные рабочие процессы, сохранив понятный интерфейс для каждой роли. Родителю нужен быстрый ответ о своём ребёнке, учителю — действия по назначенным классам, столовой — заявки и выдача питания. При этом необходимо учитывать область доступа, историю операций и работу внутри школы при потере внешнего соединения.
Решение
Спроектировали кабинеты вокруг ежедневных задач. Общий Go API обслуживает веб и приложения, сервер проверяет разрешения и область доступа. Планирование питания связывает каталоги, группы классов и учебный календарь. Для локальной работы предусмотрены школьный сервер, PostgreSQL и очередь событий; desktop-клиенты используют SQLite для кэша и офлайн-операций.
Рабочий день начинается с нужных действий
Главные страницы разделены по задачам. Родителю показываем выбранного ребёнка, баланс, питание и сообщения. Учителю — посещаемость, заявку на питание и назначенные классы. Адаптивный веб-интерфейс сохраняет эти сценарии на телефоне.
От меню — к назначению питания
Планирование начинается с каталога блюд и комплексов. Из них собираются меню и цикл, затем выбираются школы, группы и даты. Отдельный предпросмотр позволяет проверить результат до записи. Повторный запрос с тем же идентификатором назначения не создаёт дубли.
Школьный контур и облако
Для рабочих мест внутри школы предусмотрен локальный сервер. Desktop-клиенты и POS взаимодействуют с ним, а изменения попадают в очередь синхронизации. Такая архитектура отделяет локальные операции от доступности внешнего канала; после восстановления связи узлы обмениваются накопленными событиями.
Как это работает
Роль определяет рабочий контекст
Кабинет показывает нужные разделы и действия. Сервер отдельно проверяет разрешения, школу и назначенные классы; переход по прямой ссылке не расширяет доступ.
Питание по учебному календарю
Поставщик собирает меню и циклический план, выбирает школы, период и правило для неучебных дней. Предпросмотр показывает будущие назначения. Перед записью сервер повторно проверяет состав, цены и пересечения с календарём.
Локальная работа и последующая синхронизация
Desktop и POS могут обращаться к школьному серверу по локальной сети. Операции сохраняются в базе и очереди событий, а обмен с облачным узлом выполняется при доступном соединении.
Действия с понятной историей
Личный кабинет связывает баланс, питание, проходы и уведомления ребёнка. Для сотрудников предусмотрены отчёты и диагностика операций, чтобы разбирать конкретные записи в их рабочем контексте.
Результат работы
Разработана система связанных школьных сервисов: ролевые кабинеты, баланс и история операций, питание, проходы, уведомления и отчёты. Подготовлены отдельные клиенты для рабочих мест и мобильных пользователей, локальный школьный узел и синхронизация с облаком. Рабочие экраны и сценарии доступа проверяются на синтетических данных. Публичный кейс показывает реализованные возможности без раскрытия заказчика и данных школьников.
- Go
- PostgreSQL
- React
- TypeScript
- Flutter
- Dart
- Kotlin
- SQLite