How devcntid/fluencyhub works
FluencyHub is an online course and learning platform with public course discovery, checkout, payment confirmation, student learning, instructor curriculum management, and administrative operations. The main purchase path creates an order, starts payment through manual or gateway methods, then processes gateway callbacks or submitted proof to advance fulfillment. The tree and excerpts support these domain stages and several major feature areas; details of unsampled page-to-API wiring are not assumed, so only evidenced relationships are shown.
Main entry points: db Database Queries · pay/route.ts Payment Start · orders/route.ts Order Creation · midtrans/route.ts Midtrans Callback
Components 24
Course Commerce
- Public Site
src/app/(public)/page.tsx - Course Detail
src/app/(public)/courses/[slug]/page.tsx - Checkout
src/app/(public)/checkout/page.tsx - Order Creation
src/app/api/orders/route.ts - Payment Start
src/app/api/orders/[id]/pay/route.ts - Payment Proof
src/app/api/payment-proofs/route.ts - Midtrans Callback
src/app/api/webhooks/midtrans/route.ts - Xendit Callback
src/app/api/webhooks/xendit/route.ts - Order Fulfillment
src/lib/orders.ts
Learning Platform
- Student Dashboard
src/app/dashboard/courses/page.tsx - Progress Tracking
src/app/api/dashboard/progress/route.ts - Instructor Portal
src/app/instructor/curriculum/page.tsx - Curriculum Editor
src/components/course/CurriculumManager.tsx - Lesson API
src/app/api/instructor/lessons/route.ts
Platform Operations
- Admin Console
src/app/[adminPath]/page.tsx - Admin APIs
src/app/api/admin/courses/route.ts - File Upload
src/app/api/upload/route.ts
Data and Infrastructure
- Authentication
src/lib/session.ts - Database Queries
src/lib/db - Application Database
drizzle/schema.ts
Other components
- Learner
- Midtrans
- Xendit
- Blob Storage
Connections 30
- Learner → Public Site: browses
- Public Site → Course Detail: opens course
- Learner → Checkout: starts checkout
- Checkout → Order Creation: creates order
- Order Creation → Database Queries: reads and writes
- Order Creation → Authentication: checks session
- Learner → Payment Start: initiates payment
- Payment Start → Database Queries: loads and updates
- Payment Start → Midtrans: requests charge
- Payment Start → Xendit: requests payment
- Midtrans → Midtrans Callback: sends callback
- Xendit → Xendit Callback: sends callback
- Midtrans Callback → Database Queries: loads and updates
- Xendit Callback → Database Queries: loads and updates
- Midtrans Callback → Order Fulfillment: marks paid
- Xendit Callback → Order Fulfillment: marks paid
- Payment Proof → Database Queries: records proof
- Payment Proof → Authentication: checks session
- Learner → Student Dashboard: opens learning
- Student Dashboard → Progress Tracking: records progress
- Progress Tracking → Database Queries: checks enrollment
- Progress Tracking → Application Database: upserts progress
- Instructor Portal → Curriculum Editor: manages curriculum
- Curriculum Editor → Lesson API: submits lessons
- Lesson API → Database Queries: reads and writes
- Admin Console → Admin APIs: manages courses
- Admin APIs → Database Queries: reads and writes
- File Upload → Authentication: checks session
- File Upload → Blob Storage: uploads files
- Database Queries → Application Database: reads and writes