How rudrasalokhe/trainify-bot works
Trainify.ai combines a signed-in language-training interface with an Express service for AI chat and document translation. Users enter through the React app, where they can manage conversations, choose language/model settings, upload files, and export chats. The backend separately exposes chat and translation endpoints, using Groq for generation and temporary disk storage plus PDF/text extraction for translation. The excerpts do not show the frontend’s request wiring to those endpoints, so that connection is omitted; the Vite proxy configuration alone does not establish it.
Main entry points: App.tsx Training app · server.js Translation endpoint · main.tsx React bootstrap
Components 14
Training interface
- React bootstrap
Frontend/src/main.tsx - Training app
Frontend/src/App.tsx - Conversations
Frontend/src/App.tsx - Chat interface
Frontend/src/App.tsx - File controls
Frontend/src/App.tsx - Chat export
Frontend/src/App.tsx
AI service
- HTTP API
Backend/server.js - Chat endpoint
Backend/server.js - Translation endpoint
Backend/server.js - Text extraction
Backend/server.js - Temporary uploads
Backend/server.js
External services
- Clerk identity
- Groq inference
Other components
- Learner
Connections 15
- Learner → Training app: uses
Frontend/src/App.tsx - React bootstrap → Training app: renders
Frontend/src/main.tsx - React bootstrap → Clerk identity: provides auth
Frontend/src/main.tsx - Training app → Clerk identity: reads auth
Frontend/src/App.tsx - Training app → Conversations: manages
Frontend/src/App.tsx - Training app → Chat interface: renders
Frontend/src/App.tsx - Training app → File controls: renders
Frontend/src/App.tsx - Training app → Chat export: exports with
Frontend/src/App.tsx - HTTP API → Chat endpoint: routes chat
Backend/server.js - HTTP API → Translation endpoint: routes translation
Backend/server.js - Translation endpoint → Text extraction: extracts text
Backend/server.js - Translation endpoint → Temporary uploads: cleans up
Backend/server.js - Text extraction → Temporary uploads: reads file
Backend/server.js - Chat endpoint → Groq inference: requests completion
Backend/server.js - Translation endpoint → Groq inference: requests translation
Backend/server.js