How aaryan-sharmaa/prana-pulse works
PranaPulse is a yoga-guidance web app combining an AI chat for personalized pose advice with browser-based pose verification, plus account screens. The main flow is a user asking a question in the chat, the client sending it to the server, and the server returning a Groq-generated response for display. A separate practice flow loads a pose model and classifies webcam video in the browser. The sampled sources establish these flows; route and authentication wiring is only partially visible, so uncertain links are omitted.
Main entry points: App.jsx App router · chatController.js Chat controller · Ai.jsx AI chat · Poseverifier.jsx Pose verifier
Components 16
Web experience
- App router
Client/src/App.jsx - Home page
Client/src/components/Body/Front.jsx
Yoga guidance
- AI chat
Client/src/components/ai/Ai.jsx - Pose verifier
Client/src/components/poseverifier/Poseverifier.jsx - Pose model
Accounts
- Sign-in screen
Client/src/authentication/Signin.jsx - Sign-up screen
Client/src/authentication/Signup.jsx
Server services
- Chat API route
Server/routes/chatRoute.js - Chat controller
Server/controllers/chatController.js - Groq AI
- Auth routes
Server/routes/authRoute.js - Auth controller
Server/controllers/authController.js - Supabase client
Server/Supabase.js - Express server
Server/utils/server.js
Other components
- Visitor
- Supabase Auth
Connections 21
- Visitor → App router: visits
- App router → Home page: routes to
- App router → AI chat: routes to
- App router → Pose verifier: routes to
- App router → Sign-in screen: routes to
- App router → Sign-up screen: routes to
- Visitor → AI chat: asks yoga
- AI chat → Chat API route: posts chat
- Express server → Chat API route: mounts
- Chat API route → Chat controller: dispatches
- Chat controller → Groq AI: requests completion
- Groq AI → Chat controller: returns response
- Chat controller → AI chat: returns answer
- Visitor → Pose verifier: practices pose
- Pose verifier → Pose model: loads and predicts
- Visitor → Sign-in screen: signs in
- Visitor → Sign-up screen: signs up
- Express server → Auth routes: mounts
- Auth routes → Auth controller: dispatches
- Auth controller → Supabase client: uses
- Supabase client → Supabase Auth: authenticates