How pradeep-polishetty/friday works
This repository is a web app for AI-assisted conversations with persistent, user-specific history and uploaded-file analysis. The main workflow is user sign-in, protected chat, optional retrieval of relevant prior conversations, AI response generation, and saving the exchange; conversation grouping and file visualization are separate capabilities. The client also exposes speech routes. README content was empty, and several routes and services were not sampled, so those branches are shown only where the tree and server wiring support them.
Main entry points: chatController.js Chat controller · server.js HTTP server · api.jsx Client API · App.jsx App routing
Components 24
Web client
- App routing
client/src/App.jsx - Login UI
client/src/components/Login.jsx - Chat UI
client/src/components/Chat.jsx - Dashboard
client/src/components/Dashboard.jsx - File visualization
client/src/components/FileVisualization.jsx - Client API
client/src/components/api.jsx
Identity and API
- HTTP server
server/server.js - Auth routes
server/routes/userRoutes.js - JWT guard
server/middleware/authMiddleware.js
Conversation intelligence
- Chat routes
server/routes/chatRoutes.js - Chat controller
server/controllers/chatController.js - Context retrieval
server/services/ragService.js - Embeddings
server/services/embeddingService.js - AI response
server/services/llmService.js - Conversation grouping
server/services/groupingService.js
File analysis
- File routes
server/routes/fileRoutes.js - Document processing
server/services/documentService.js - Speech routes
server/routes/speech.js
Persistent data
- Conversation records
server/models/Conversation.js - Conversation groups
server/models/ConversationGroup.js - User records
server/models/User.js
Other components
- User
- Groq AI
- Speech service
Connections 28
- User → App routing: uses
- App routing → Login UI: routes to
- App routing → Chat UI: protects route
- Login UI → Client API: requests auth
- Chat UI → Client API: requests chat
- Client API → HTTP server: sends requests
- HTTP server → Auth routes: dispatches auth
- HTTP server → Chat routes: dispatches chat
- HTTP server → File routes: dispatches files
- HTTP server → Speech routes: dispatches speech
- Auth routes → User records: reads/writes
- JWT guard → User records: identifies user
- Chat routes → Chat controller: routes chat
- Chat controller → Embeddings: embeds message
- Chat controller → Context retrieval: retrieves context
- Chat controller → AI response: generates reply
- Chat controller → Conversation records: reads/writes
- Context retrieval → Embeddings: embeds query
- Context retrieval → Conversation records: reads history
- Chat controller → Conversation grouping: triggers grouping
- Conversation grouping → Conversation groups: writes groups
- Conversation grouping → Conversation records: updates conversations
- AI response → Groq AI: requests completion
- File routes → Document processing: processes documents
- User → File visualization: views analysis
- File visualization → Client API: requests visualization
- Client API → Dashboard: loads dashboard
- Speech routes → Speech service: uses speech