Об этом проекте

Open Civic Signal OS представляет собой платформу гражданских технологий, реализованную в виде монорепозитория. Ее заявленная цель — преобразование «сигналов сообщества» (повторяющихся локальных проблем, о которых сообщают жители) в публичный бэклог, который люди могут понимать, которому могут доверять и на основе которого могут действовать. Обещание продукта описывается с двух ракурсов. Для гражданина путь выглядит так: сообщить о реальной локальной проблеме простым языком, понять, почему она была приоритизирована, и отследить, что изменилось, кто ответил и что все еще находится в ожидании. Для государственных служащих и лидеров сообществ заявленная цель состоит в том, чтобы уменьшить уровень шума, выявить наиболее важные вопросы в первую очередь и сохранить видимость доказательств, лежащих в основе приоритизации. Документированные пользовательские сценарии охватывают три роли: - Член сообщества: сообщает о проблеме, поддерживает существующий вопрос вместо дублирования, понимает, почему проблема имеет высокий приоритет, и отслеживает обновления от сообщества или организации. - Модератор или координатор сообщества: просматривает обсуждения в сообществе, публикует обновления о прогрессе с четкими границами ролей, а также поддерживает каналы обсуждения в рабочем и проверяемом состоянии. - Государственный служащий: быстро выявляет наиболее приоритетные проблемы, публикует обновления о ходе работы и использует прозрачные доказательства для обоснования очередности действий. В README честно говорится о текущем пробеле в UX: репозиторий и приложение хорошо объясняют техническую платформу, но предлагают слишком много вариантов навигации и рабочих процессов слишком рано для новых пользователей. Поэтому текущая работа над фронтендом сосредоточена на упрощении первого опыта использования, уточнении основных действий и снижении когнитивной нагрузки. Заявленное направление развития продукта включает более простую иерархию первого экрана, более четкие призывы к действию, упрощенный онбординг и верификацию, доступную навигацию с клавиатуры и для мобильных устройств, а также интерфейсы доверия, которые объясняют ранжирование и прогресс без использования жаргона. Технический стек согласно документации: - Backend: Java 21 с Spring Boot в apps/api-java, где размещены API и сервисы приоритизации. - Frontend: React, TypeScript и Vite в apps/web-react, предоставляющие публичную панель управления и консоль оператора. - Данные: JSON-first для текущего MVP, PostgreSQL указан как планируемый. - Контракты: определения OpenAPI и общие схемы в packages/contracts. - Другие директории: infra для локальной среды и ресурсов развертывания, а также docs для стратегии, идей, архитектуры и планов реализации. Запуск проекта: канонической средой интегрированной разработки является Docker, запускаемый командой npm run docker:dev:up, которая в README описывается как необходимый путь с горячей перезагрузкой (hot-reload) для фронтенда и бэкенда вместе. Вспомогательные команды включают docker:dev:doctor, docker:dev:ps, docker:dev:logs и docker:dev:down, а также режим, близкий к продакшн (docker:prod:up), и предварительно собранные образы GHCR (docker:ghcr:up / docker:ghcr:down) с рабочим процессом CI-образов в .github/workflows/docker-images.yml. В README прямо указано, что отсутствие Docker следует рассматривать как блокирующий фактор для локальной среды, а не пытаться его обойти при проверке интегрированного поведения. Для текущего MVP также существуют скрипты, такие как npm install и npm run prioritize. Существуют резервные пути запуска отдельных компонентов для изолированной работы: запуск React-приложения с помощью npm run dev внутри apps/web-react и Java API с помощью ./mvnw spring-boot:run внутри apps/api-java. Дополнительные материалы репозитория включают ресурсы для запуска (демо- и архитектурные GIF, SVG-схема архитектуры, целевая страница в docs, документ с идеями и руководство для агентов), набор брендинга и визуальных ресурсов (логотип, текстовый знак, баннер, карточка для соцсетей и логотип в PNG), а также отслеживание дорожной карты через GitHub issues проекта. В целом, репозиторий представляет собой открыто задокументированную платформу гражданского взаимодействия и приоритизации на ранней стадии: в нем определены предполагаемые пути гражданина и администратора, реализован поток разработки в монорепозитории на базе Docker с компонентами Spring Boot и React, контракты API хранятся в репозитории, и открыто перечислены оставшиеся работы по упрощению UX.