프로젝트 소개

Open Civic Signal OS는 모노레포 형태로 제공되는 시빅-테크놀로지 플랫폼입니다. 이 플랫폼의 목적은 주민들이 보고한 반복적인 지역 문제, 즉 '커뮤니티 신호'를 사람들이 이해하고 신뢰하며 행동에 옮길 수 있는 공공 백로그로 변환하는 것입니다. 제품의 약속은 두 가지 관점에서 설명됩니다. 시민의 관점에서는 일상 언어로 실제 지역 문제를 보고하고, 왜 해당 문제가 우선순위로 지정되었는지 확인하며, 무엇이 변경되었고 누가 응답했으며 무엇이 아직 보류 중인지 추적하는 경로를 제공합니다. 공무원과 커뮤니티 리더의 관점에서는 소음을 줄이고 중요한 문제를 먼저 표면화하며, 우선순위 지정의 근거가 되는 증거를 가시적으로 유지하는 것이 목표입니다. 문서화된 사용자 여정은 세 가지 역할을 다룹니다: - 커뮤니티 구성원: 문제 보고, 중복 보고 대신 기존 이슈 지지, 이슈의 높은 우선순위 이유 이해, 커뮤니티 또는 기관의 업데이트 추적. - 커뮤니티 중재자 또는 코디네이터: 커뮤니티 대화 검토, 명확한 역할 경계 내에서 진행 상황 업데이트 게시, 토론 채널의 사용성 및 감사 가능성 유지. - 공무원: 최우선 순위 문제의 신속한 식별, 진행 상황 업데이트 게시, 투명한 증거를 통한 조치 순서의 정당성 확보. README에서는 현재의 UX 격차에 대해 솔직하게 언급하고 있습니다. 저장소와 애플리케이션은 기술적 플랫폼을 잘 설명하고 있지만, 처음 사용하는 사용자에게 너무 이른 시점에 너무 많은 내비게이션 및 워크플로우 선택지를 노출하고 있습니다. 따라서 현재 진행 중인 프론트엔드 작업은 첫 실행 경험을 단순화하고, 주요 작업을 명확히 하며, 인지 부하를 줄이는 데 집중하고 있습니다. 명시된 제품 방향에는 더 단순한 첫 화면 계층 구조, 더 명확한 주요 호출 버튼(CTA), 마찰이 적은 온보딩 및 인증, 접근 가능한 키보드 및 모바일 내비게이션, 전문 용어 없이 순위와 진행 상황을 설명하는 신뢰 표면 등이 포함됩니다. 문서화된 기술 스택은 다음과 같습니다: - 백엔드: Java 21 및 Spring Boot (apps/api-java 위치), API 및 우선순위 지정 서비스 호스팅. - 프론트엔드: React, TypeScript 및 Vite (apps/web-react 위치), 공공 대시보드 및 운영자 콘솔 제공. - 데이터: 현재 MVP 버전은 JSON 우선 방식이며, PostgreSQL 도입 계획. - 계약(Contracts): packages/contracts 하위의 OpenAPI 정의 및 공유 스키마. - 기타 디렉토리: 로컬 환경 및 배포 자산을 위한 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)와 .github/workflows/docker-images.yml의 CI 이미지 워크플로우를 통한 사전 빌드된 GHCR 이미지(docker:ghcr:up / docker:ghcr:down)가 제공됩니다. README는 통합 동작을 검증할 때 Docker를 사용할 수 없는 경우, 우회 방법을 찾기보다 로컬 환경의 차단 요소로 처리할 것을 명시적으로 요청합니다. 현재 MVP를 위해 npm install 및 npm run prioritize와 같은 스크립트도 제공됩니다. 격리된 작업을 위한 컴포넌트 전용 폴백 경로도 존재합니다. apps/web-react 내에서 npm run dev로 React 앱을 실행하거나, apps/api-java 내에서 ./mvnw spring-boot:run으로 Java API를 실행할 수 있습니다. 추가 저장소 자료에는 런칭 리소스(데모 및 아키텍처 GIF, 아키텍처 SVG, docs 하위의 랜딩 페이지, 아이디어 문서 및 에이전트 플레이북), 브랜드 및 비주얼 자산 키트(로고 마크, 워드마크, 배너, 소셜 카드 및 PNG 로고), 그리고 GitHub 이슈를 통한 로드맵 추적이 포함됩니다. 전반적으로 이 저장소는 초기 단계의 공개 문서화된 시민 참여 및 우선순위 지정 플랫폼입니다. 의도된 시민 및 관리자 여정을 정의하고, Spring Boot와 React 컴포넌트를 포함한 Docker 기반의 모노레포 개발 흐름을 제공하며, API 계약을 저장소 내에 유지하고, 남은 UX 단순화 작업을 공개적으로 명시하고 있습니다.