How tinashe2023/the-guru-mobile-hub works
Guru Mobile Hub is a customer-and-admin portal for account access and mobile-hub services, with a web client backed by an Express API and real-time chat. The user workflow is to enter through the landing or sign-in experience, authenticate, then use the protected dashboard to browse services and products or manage tickets, chat, profile, and documents. Server route coverage also includes shop, announcements, and passkeys. The README is empty; links among unsampled feature handlers and their data stores are therefore not inferred.
Main entry points: server.js HTTP server · App.jsx Routes and guards · auth.js Authentication API · db.js PostgreSQL
Components 28
Web client
- Routes and guards
client/src/App.jsx - Auth state
client/src/contexts/AuthContext.jsx - HTTP client
client/src/services/api.js - Socket state
client/src/contexts/SocketContext.jsx - Login and signup
client/src/pages/LoginPage.jsx - Dashboard
client/src/pages/DashboardPage.jsx - Services catalog
client/src/pages/ServicesPage.jsx - Tickets
client/src/pages/TicketsPage.jsx - Live chat
client/src/pages/ChatPage.jsx - Documents
client/src/pages/DocumentsPage.jsx - Products
client/src/pages/ProductsPage.jsx
Identity
- Authentication API
server/routes/auth.js - Passkey API
server/routes/webauthn.js - JWT authorization
server/middleware/auth.js
Hub features
- Services API
server/routes/services.js - Shop API
server/routes/shop.js - Products API
server/routes/products.js - Tickets API
server/routes/tickets.js - Documents API
server/routes/documents.js - Chat API
server/routes/chat.js - Announcements API
server/routes/announcements.js - User API
server/routes/users.js
API and realtime
- HTTP server
server/server.js - Realtime handlers
server/sockets/index.js
Data and files
- PostgreSQL
server/config/db.js - Backblaze B2
Other components
- Visitor or member
- Google OAuth
Connections 32
- Visitor or member → Routes and guards: opens
- Routes and guards → Login and signup: routes to
- Routes and guards → Dashboard: guards and routes
- Routes and guards → Services catalog: routes to
- Routes and guards → Tickets: routes to
- Routes and guards → Live chat: routes to
- Routes and guards → Documents: routes to
- Routes and guards → Products: routes to
- Routes and guards → Auth state: checks access
- Auth state → HTTP client: calls
- Services catalog → HTTP client: calls
- HTTP client → HTTP server: HTTP requests
- Socket state → Realtime handlers: Socket.IO connection
- HTTP server → Authentication API: mounts
- HTTP server → Passkey API: mounts
- HTTP server → Services API: mounts
- HTTP server → Shop API: mounts
- HTTP server → Products API: mounts
- HTTP server → Tickets API: mounts
- HTTP server → Documents API: mounts
- HTTP server → Chat API: mounts
- HTTP server → Announcements API: mounts
- HTTP server → User API: mounts
- HTTP server → Realtime handlers: configures handlers
- Authentication API → JWT authorization: authenticates
- Services API → JWT authorization: protects updates
- Authentication API → PostgreSQL: queries users
- JWT authorization → PostgreSQL: loads user
- Services API → PostgreSQL: reads and updates
- Realtime handlers → PostgreSQL: queries and updates
- Authentication API → Backblaze B2: signs avatar URL
- Google OAuth → Authentication API: OAuth exchange