How arikmhm/rekan-tes works
Rekan Tes is a B2C platform for paid, timed job-entry test simulations, with free sample quizzes, account management, and admin tools for test content and orders. The main participant journey is to find a product, authenticate, pay by QRIS, receive access, complete timed subtests, and review scores and explanations. The graph also includes content administration and a useful persistence layer. Source excerpts are limited, so several documented capabilities use their exact enclosing directories and only documented or clearly supported connections are shown.
Main entry points: index.ts Application database · order.ts Order and checkout · attempt-flow.ts Attempt workflow · admin Admin workspace
Components 27
Participant experience
- Home and discovery
src/app/page.tsx - Product catalog
src/app/produk/page.tsx - Product details
src/app/produk/[slug]/page.tsx - Sign-in and registration
src/app/masuk/page.tsx - Account form
src/app/_components/auth-form.tsx - Order and checkout
src/lib/order.ts - Participant orders
src/app/peserta/pesanan/[id]/page.tsx
Assessment workflow
- Simulation and attempts
src/app/simulasi/[slug]/mulai/page.tsx - Attempt workflow
src/lib/attempt-flow.ts - Attempt operations
src/lib/attempt.ts - Attempt results
src/app/peserta/simulasi/[id]/hasil/page.tsx - Free sample quizzes
src/app/simulasi/data.ts
Administration
- Admin workspace
src/app/admin - Admin operations
src/lib/admin.ts - Order management
src/lib/admin-order.ts
Platform services
- Auth client
src/lib/auth-client.ts - Auth API route
src/app/api/auth/[...all]/route.ts - Auth service
src/lib/auth.ts - DOKU QRIS
src/lib/doku.ts - Payment notification route
src/app/api/doku/notifications/route.ts - Payment activation
src/lib/webhook.ts - Application database
src/db/index.ts - Data schema
src/db/schema.ts - Verification email
src/lib/email.ts
Other components
- Visitor / participant
- DOKU payment service
- Neon database
Connections 33
- Visitor / participant → Home and discovery: browses
- Visitor / participant → Product catalog: explores products
- Visitor / participant → Sign-in and registration: registers or signs in
- Sign-in and registration → Account form: renders
- Account form → Auth client: submits credentials
- Auth client → Auth API route: calls
- Auth API route → Auth service: dispatches
- Auth service → Application database: reads and writes
- Auth service → Verification email: sends verification
- Product catalog → Product details: opens product
- Visitor / participant → Product details: selects product
- Product details → Order and checkout: starts checkout
- Order and checkout → Application database: creates order and payment
- Order and checkout → DOKU QRIS: requests QRIS
- DOKU QRIS → DOKU payment service: creates payment
- DOKU payment service → Payment notification route: posts notification
- Payment notification route → DOKU QRIS: verifies signature
- Payment notification route → Payment activation: activates success
- Participant orders → Payment activation: polls pending payment
- Payment activation → Application database: updates payment and access
- Visitor / participant → Simulation and attempts: starts simulation
- Simulation and attempts → Attempt workflow: runs attempt flow
- Attempt workflow → Attempt operations: manages attempt
- Attempt operations → Application database: saves attempt data
- Attempt workflow → Attempt results: opens completed result
- Visitor / participant → Free sample quizzes: tries free quiz
- Visitor / participant → Admin workspace: administers content
- Admin workspace → Admin operations: manages platform
- Admin workspace → Order management: manages orders
- Admin operations → Application database: reads and writes
- Order management → Application database: reads and writes
- Application database → Data schema: uses schema
- Application database → Neon database: queries