SyncSetu Frontend is the open-source web interface for the Government of Karnataka's SyncSetu platform. It delivers the Business portal and GovOps operations console that power real-time data synchronization, auditability, and cross-department workflows.
flowchart LR
Browser[Citizen & Officer Browser]
App[Next.js App Router]
Auth[Supabase Auth]
API[SyncSetu Backend API]
Cache[React Query Cache]
Browser --> App
App --> Cache
App --> Auth
App --> API
- App Router layouts and routes under
app/. - Auth session handling via
AuthProviderand Supabase client. - Data access through
lib/api-client.tswith token interception. - Shared shell navigation and UI primitives in
components/.
- Business Portal: dashboard, tracking, timeline, profile, corrections.
- GovOps Console: alerts, audits, conflicts, schema governance, DLQ, review, and AI insights.
- Next.js App Router with React
- Tailwind CSS utilities
- React Query for client caching
- Supabase Auth for sessions
- Recharts, Framer Motion, Sonner
npm installCreate a .env.local with the following:
NEXT_PUBLIC_API_URL=http://localhost:3001/api/v1
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
npm run devOpen http://localhost:3000 in your browser.
npm run dev
npm run build
npm run start
npm run lint//login
/business/dashboard/business/tracking/business/timeline/business/correction/business/profile/business/settings
/ops/dashboard/ops/timeline/ops/search/ops/settings/ops/alerts/ops/audit/ops/conflicts/ops/review/ops/dlq/ops/health/ops/ai-insights/ops/schema/ops/schema-drift/ops/canary/ops/ubid/ops/admin/ops/admin/departments/ops/admin/users
app/ # App Router routes and layouts
business/ # Business portal pages
ops/ # GovOps console pages
login/ # Auth entry
components/ # Reusable UI and shell components
lib/ # Utilities and API clients
public/ # Static assets
We welcome issues and pull requests. Please include a clear description, screenshots for UI changes, and lint/test updates where relevant.
Apache-2.0. See LICENSE for details.