How raviteja-me/groovinto works
Groovinto is a creative studio website showcasing its services and portfolio, with contact/newsletter capture, an AI video course registration and payment flow, and an admin view of leads and payments. The clearest source-backed runtime path is server-side order creation, payment verification, then registration persistence; a Razorpay webhook provides a separate payment-event path. The tree also indicates public showcase, 3D and motion features, though their wiring was not sampled. Evidence is limited for page composition and the registration form’s client-side orchestration.
Main entry points: razorpay.ts Razorpay services · store.ts Persistent store · verify-payment/route.ts Verify payment · razorpay-webhook/route.ts Payment webhook
Components 24
Studio showcase
- Home page
app/page.tsx - Services page
app/services/page.tsx - Portfolio page
app/portfolio/page.tsx - Work grid
components/work/WorkGrid.tsx - 3D visuals
components/three/Scene.tsx
Course enrollment
- Registration page
app/register/page.tsx - Registration form
components/course/RegisterForm.tsx - Course content
components/course/CourseDetails.tsx - Create order
app/api/create-order/route.ts - Verify payment
app/api/verify-payment/route.ts - Payment webhook
app/api/razorpay-webhook/route.ts - Checkout loader
components/course/razorpay-client.ts
Leads and admin
- Contact page
app/contact/page.tsx - Contact form
components/contact/ContactForm.tsx - Contact intake
app/api/contact/route.ts - Newsletter intake
app/api/subscribe/route.ts - Admin page
app/admin/page.tsx - Admin dashboard
components/admin/AdminDashboard.tsx - Admin login
app/api/admin/login/route.ts - Admin data
app/api/admin/data/route.ts
Shared services
- Razorpay services
lib/razorpay.ts - Persistent store
lib/store.ts
Other components
- Visitor
- Razorpay
Connections 24
- Visitor → Home page: opens
- Visitor → Services page: explores
- Visitor → Portfolio page: views work
- Visitor → Registration page: registers
- Visitor → Contact page: contacts
- Portfolio page → Work grid: renders
- Registration form → Create order: requests order
- Create order → Razorpay services: creates order
- Razorpay services → Razorpay: calls API
- Checkout loader → Razorpay: loads checkout
- Registration form → Verify payment: submits payment
- Verify payment → Razorpay services: checks payment
- Verify payment → Persistent store: saves registration
- Razorpay → Payment webhook: sends events
- Payment webhook → Razorpay services: checks signature
- Payment webhook → Persistent store: saves events
- Contact form → Contact intake: submits enquiry
- Contact intake → Persistent store: saves enquiry
- Newsletter intake → Persistent store: saves subscriber
- Admin page → Admin dashboard: renders
- Admin dashboard → Admin login: authenticates
- Admin dashboard → Admin data: requests data
- Admin data → Persistent store: reads records
- Admin data → Razorpay services: lists payments