How suleman984/personal-knowledge-tracker works
Personal Knowledge Tracker lets users sign up or log in, capture text or a URL for an AI summary, organize and edit saved knowledge, and schedule review reminders. The backend handles authentication, content and reminder operations, while a background worker sends due reminder emails. The extension is a documented client and the login form explicitly forwards its token. Sampled code confirms these flows and database operations; several frontend pages and route implementations were not sampled, so their internal wiring is left out.
Main entry points: main.go Server setup · handler.go Summary handler · AuthForm.tsx Auth form · worker.go Reminder worker
Components 23
User clients
- Web app
frontend/src/app - Auth form
frontend/src/components/forms/AuthForm.tsx - Chrome extension
extension/popup.js - API client
frontend/src/lib/api.ts
Identity and API
- User routes
backend/internal/routes/userRoutes/route.go - Auth handlers
backend/internal/auth/handlers.go - JWT auth
backend/internal/auth/jwt.go - Auth middleware
backend/internal/middleware/auth_middleware.go - Server setup
backend/cmd/main.go
Knowledge capture
- Content routes
backend/internal/content/contentRoutes.go - Content handlers
backend/internal/content/handlers.go - Summary routes
backend/internal/routes/summaryRoutes/route.go - Summary handler
backend/internal/summarizer/handler.go - Gemini client
backend/internal/summarizer/gemini.go - Knowledge database
backend/internal/db/db.go
Review reminders
- Reminder routes
backend/internal/routes/reminderRoutes/reminder.go - Reminder handlers
backend/internal/reminder/handler.go - Reminder worker
backend/internal/reminder/worker.go - Email sender
backend/internal/reminder/email.go - Reminder data
backend/internal/db/db.go
Other components
- User
- Email service
- Gemini API
Connections 22
- User → Web app: uses
- Web app → Auth form: presents auth
- Auth form → API client: submits credentials
- Auth form → Chrome extension: sends token
- Server setup → User routes: registers routes
- Server setup → Content routes: registers routes
- Server setup → Reminder routes: registers routes
- Server setup → Summary routes: registers routes
- Server setup → Reminder worker: starts worker
- Content routes → Auth middleware: applies auth
- Auth middleware → JWT auth: validates token
- Auth handlers → JWT auth: creates token
- Content handlers → Knowledge database: reads and writes
- Summary handler → Gemini client: generates summary
- Summary handler → Knowledge database: saves summary
- Summary handler → Reminder data: schedules reviews
- Summary handler → Email sender: sends first email
- Reminder handlers → Reminder data: reads and updates
- Reminder worker → Reminder data: checks and schedules
- Reminder worker → Email sender: sends due reminders
- Email sender → Email service: delivers email
- Gemini client → Gemini API: requests summary