How zariaa27/edgenote works
EdgeNote is an edge-hosted collaborative Markdown workspace. Users register or sign in, enter a workspace to create and manage documents, then edit, share, and discover notes; account settings and administration provide separate workflows. API routes enforce authentication and document access while using D1 and Cloudflare services for persistence, files, AI, semantic search, and realtime rooms. The graph preserves README-described capabilities, but several UI components and API routes were not sampled, so some documented links are shown without source-level detail.
Main entry points: schema.ts Data schema · document-access.ts Access resolver · login/route.ts Auth routes · account/route.ts Account API
Components 32
Web experience
- Landing page
app/page.tsx - Sign-in forms
components/AuthForm.tsx - Workspace
components/Workspace.tsx - Document view
components/DocumentWorkspace.tsx - Markdown editor
components/Editor.tsx - Sharing controls
components/DocumentSharing.tsx - Account settings
components/AccountSettings.tsx - Admin dashboard
components/AdminDashboard.tsx
Identity and accounts
- Auth routes
app/api/auth/login/route.ts - Account API
app/api/account/route.ts - Data export
app/api/account/export/route.ts - Account email
src/server/account-email.ts - Session and passwords
src/server/auth.ts - Analytics API
app/api/admin/analytics/route.ts
Documents and collaboration
- Document routes
app/api/documents/route.ts - Share routes
app/api/documents/[documentId]/shares/route.ts - Access resolver
src/server/document-access.ts - Realtime route
app/api/realtime/route.ts - Room handler
src/server/realtime-handler.ts - Document room
src/document-session.ts
Discovery and media
- Semantic search
app/api/search/route.ts - AI summary
app/api/ai/summarize/route.ts - Image uploads
app/api/upload/route.ts - Media delivery
app/api/media/route.ts
Edge services
- Worker entrypoint
worker.ts - Data schema
src/db/schema.ts
Other components
- Visitor / user
- Resend email
- D1 database
- Workers AI
- Vectorize
- R2 storage
Connections 48
- Visitor / user → Landing page: visits
app/page.tsx - Landing page → Sign-in forms: starts account
app/page.tsx - Visitor / user → Sign-in forms: signs in
README.md - Sign-in forms → Auth routes: submits credentials
README.md - Auth routes → Session and passwords: validates session
app/api/auth/login/route.ts - Auth routes → Data schema: reads accounts
app/api/auth/login/route.ts - Auth routes → Account email: sends account email
app/api/auth/login/route.ts - Account email → Resend email: sends messages
src/server/account-email.ts - Visitor / user → Workspace: opens workspace
README.md - Workspace → Document routes: manages documents
README.md - Document routes → Session and passwords: checks session
app/api/documents/route.ts - Document routes → Data schema: reads and writes
app/api/documents/route.ts - Visitor / user → Document view: opens note
README.md - Document view → Markdown editor: renders editor
components/DocumentWorkspace.tsx - Document view → Sharing controls: renders sharing
components/DocumentWorkspace.tsx - Sharing controls → Share routes: sets permissions
README.md - Share routes → Access resolver: checks access
app/api/documents/[documentId]/shares/route.ts - Share routes → Data schema: reads and writes
app/api/documents/[documentId]/shares/route.ts - Document routes → Access resolver: resolves access
README.md - Realtime route → Room handler: routes upgrades
README.md - Room handler → Access resolver: checks permissions
src/server/realtime-handler.ts - Room handler → Document room: dispatches room request
src/server/realtime-handler.ts - Worker entrypoint → Room handler: exports handler
worker.ts - Worker entrypoint → Document room: exports durable object
worker.ts - Document room → Data schema: persists revisions
README.md - Data schema → D1 database: defines relational data
README.md - Visitor / user → Account settings: manages account
README.md - Account settings → Account API: updates account
README.md - Account settings → Data export: requests export
README.md - Account API → Session and passwords: checks session
app/api/account/route.ts - Account API → Account email: creates email token
app/api/account/route.ts - Account API → Data schema: reads and writes
app/api/account/route.ts - Data export → Data schema: reads account data
app/api/account/export/route.ts - Visitor / user → Admin dashboard: views analytics
README.md - Admin dashboard → Analytics API: requests analytics
README.md - Analytics API → Data schema: queries activity
app/api/admin/analytics/route.ts - Visitor / user → Semantic search: searches notes
README.md - Semantic search → Workers AI: embeds query
app/api/search/route.ts - Semantic search → Vectorize: queries vectors
app/api/search/route.ts - Semantic search → Data schema: fetches matching notes
app/api/search/route.ts - Visitor / user → AI summary: requests summary
README.md - AI summary → Workers AI: generates summary
README.md - AI summary → Access resolver: checks document access
app/api/ai/summarize/route.ts - Visitor / user → Image uploads: adds images
README.md - Image uploads → Access resolver: checks edit access
app/api/upload/route.ts - Image uploads → D1 database: stores metadata
README.md - Image uploads → R2 storage: stores image
README.md - Visitor / user → Media delivery: loads attachments
README.md