How gilbert-dev17/dashboard works
Personal Dashboard is a Next.js app for daily planning and journaling, personal finance, and account settings. Users enter through the dashboard or module routes; the planner presents calendar, agenda, and notes, while finance routes cover accounts, transaction entry, categories, and history. Supabase provides authentication, persistence, and documented Realtime synchronization; weather is an optional external service. The excerpts show the weather API, OAuth callback, task-toggle persistence, and sync hook directly. Other module internals are represented from the README and tree, so uncertain action-to-storage links are omitted.
Main entry points: server.ts Server client · useRealTimeSync.ts Realtime sync hook · schedule Planner routes · route.ts OAuth callback
Components 18
App and access
- Profile settings
src/app/(main)/profile - Login and callback
src/app/(auth) - OAuth callback
src/app/(auth)/callback/route.ts
Planner and home
- Daily dashboard
src/app/(main)/home - Planner routes
src/app/(main)/schedule - Calendar, agenda, notes
src/components/Shared - Task actions
src/lib/actions
Personal finance
- Finance routes
src/app/(main)/finance - Finance interface
src/components/Expenses - Transaction actions
src/lib/actions/transactions - Financial calculations
src/lib/finance
Data and integrations
- Weather endpoint
src/app/api/weather/route.ts - Weather and geocoding
- Server client
src/lib/supabase/server.ts - Supabase
- Realtime sync hook
src/hooks/useRealTimeSync.ts - Sync status
src/contexts/SyncStatusContext.tsx
Other components
- Dashboard user
Connections 12
- Dashboard user → Daily dashboard: opens dashboard
- Dashboard user → Planner routes: opens planner
- Dashboard user → Finance routes: opens finance
- Dashboard user → Profile settings: opens settings
- Dashboard user → Login and callback: signs in
- Planner routes → Calendar, agenda, notes: renders planner
- Task actions → Server client: creates client
- Server client → Supabase: accesses data
- OAuth callback → Server client: creates client
- Realtime sync hook → Supabase: subscribes to changes
- Realtime sync hook → Sync status: updates status
- Weather endpoint → Weather and geocoding: fetches conditions