How parthjadhav85/stashbox works
StashBox is a full-stack bookmark workspace: users authenticate, save and enrich links, organize them in nested collections, then search and manage bookmarks in the responsive application. The graph follows the documented browser-to-REST-to-Supabase architecture and the sampled route/controller wiring. README-described UI capabilities are grouped under the workspace because their individual implementations were not sampled; database authorization and schema details are documented, but no schema source appears in the tree.
Main entry points: supabase.js Supabase client · server.js Express API · authMiddleware.js JWT authentication · App.jsx React SPA
Components 18
React application
- React SPA
client/src/App.jsx - Auth screens
client/src/components/auth - Auth state
client/src/context/AuthContext.jsx - Bookmark workspace
client/src/components/layout - API client
client/src/api/api.js
REST API
- Express API
server/server.js - Auth routes
server/routes/authRoutes.js - Collection routes
server/routes/collectionRoutes.js - Bookmark routes
server/routes/bookmarkRoutes.js - JWT authentication
server/middleware/authMiddleware.js - Account operations
server/controllers/authController.js - Collection operations
server/controllers/collectionController.js - Bookmark operations
server/controllers/bookmarkController.js - Metadata scraper
server/utils/metadataScraper.js - Supabase client
server/config/supabase.js
External services
- Supabase Auth and PostgreSQL
Other components
- Browser user
- Bookmark webpages
Connections 23
- Browser user → React SPA: uses
- React SPA → Auth screens: routes to
- React SPA → Bookmark workspace: opens protected
- Auth screens → Auth state: authenticates via
- Auth state → API client: requests
- Bookmark workspace → API client: requests
- API client → Express API: sends REST
- Express API → Auth routes: mounts
- Express API → Collection routes: mounts
- Express API → Bookmark routes: mounts
- Auth routes → JWT authentication: guards protected routes
- Collection routes → JWT authentication: guards routes
- Bookmark routes → JWT authentication: guards routes
- Auth routes → Account operations: dispatches
- Collection routes → Collection operations: dispatches
- Bookmark routes → Bookmark operations: dispatches
- Account operations → Supabase client: uses
- Collection operations → Supabase client: uses
- Bookmark operations → Supabase client: uses
- JWT authentication → Supabase client: validates token
- Supabase client → Supabase Auth and PostgreSQL: accesses
- Bookmark operations → Metadata scraper: extracts metadata
- Metadata scraper → Bookmark webpages: fetches page data