How daniel-vergaram/dash works
Dash is a personal dashboard served by Express, with a React interface for authentication, personal data, and connected services. The main workflow is sign in, choose a dashboard view, and request or change that user’s data through the API; tasks are Google Calendar events, while notes are local Markdown files. The graph preserves the documented service panels and account/access management. Backend internals and some panels are represented at subsystem level where the provided excerpts do not show their implementation details.
Main entry points: api.ts API client · server.js Express API · App.tsx App entry · AuthContext.tsx Auth context
Components 24
Dashboard interface
- App entry
web/src/App.tsx - View shell
web/src/components/Shell.tsx - API client
web/src/lib/api.ts
Identity and access
- Auth context
web/src/context/AuthContext.tsx - Sign-in gate
web/src/components/Gate.tsx - Account settings
web/src/components/views/Account.tsx - Access management
web/src/components/views/Access.tsx - Authentication and authorization
auth.js - People and sessions
data/auth.json
Personal data
- Express API
server.js - Tasks and subtasks
web/src/components/views/Tasks.tsx - Today agenda
web/src/components/views/Today.tsx - Calendar view
web/src/components/views/CalendarView.tsx - Markdown notes
web/src/components/views/Notes.tsx - Notes files
data
Connected services
- Drive browser
web/src/components/views/Drive.tsx - Spotify panel
web/src/components/views/Music.tsx - GitHub panel
web/src/components/views/GitHubView.tsx - Linear projects
web/src/components/ProjectsModal.tsx - Google APIs
- Spotify API
- GitHub API
- Linear API
Other components
- Dashboard user
Connections 26
- Dashboard user → App entry: opens dashboard
- App entry → Auth context: provides session
web/src/main.tsx - App entry → Sign-in gate: shows signed out
web/src/App.tsx - App entry → View shell: shows signed in
web/src/App.tsx - View shell → Auth context: reads identity
web/src/components/Shell.tsx - Auth context → API client: requests session
web/src/context/AuthContext.tsx - Sign-in gate → API client: sends sign-in requests
web/src/components/Gate.tsx - Account settings → API client: manages own account
web/src/components/views/Account.tsx - Access management → API client: manages users
web/src/components/views/Access.tsx - Authentication and authorization → People and sessions: persists identity
README.md - Express API → Authentication and authorization: uses auth module
server.js - Tasks and subtasks → API client: requests task changes
web/src/components/views/Tasks.tsx - Today agenda → API client: loads agenda
web/src/components/views/Today.tsx - Calendar view → API client: loads calendar
web/src/components/views/CalendarView.tsx - Markdown notes → API client: reads and edits notes
web/src/components/views/Notes.tsx - Drive browser → API client: browses files
web/src/components/views/Drive.tsx - Spotify panel → API client: loads and controls music
web/src/components/views/Music.tsx - GitHub panel → API client: loads repositories
web/src/components/views/GitHubView.tsx - Linear projects → API client: manages projects
web/src/components/ProjectsModal.tsx - API client → Express API: sends HTTP requests
- Express API → Google APIs: uses calendar and Drive
- Express API → Spotify API: uses playback and playlists
- Express API → GitHub API: uses GitHub
- Express API → Linear API: proxies project operations
- Express API → Notes files: stores Markdown notes
- Express API → Google APIs: stores tasks as calendar events