v1.0
Reference
Admin

DAC Academy — System Inventory & Navigation Map


1. ROUTE HIERARCHY

1.1 Public Routes (No Authentication Required)

RoutePageDescription
/Root pageLanding/home page
/loginLogin pageEmail/password authentication
/forgot-passwordForgot PasswordRequest password reset email
/update-passwordUpdate PasswordSet new password via reset token
/privacyPrivacy PolicyStatic privacy page
/termsTerms of ServiceStatic terms page
/sentry-example-pageSentry TestDebug page for error tracking

1.2 API Routes

RouteMethodDescriptionAccess
/api/auth/[...all]AllBetter Auth handler (login, signup, session, etc.)Public
/api/batchesGETReturns all batches for select dropdownsAdmin/Counselor
/api/cron/fee-remindersPOSTCron-triggered fee reminder processingCron job
/api/cron/process-notificationsPOSTCron-triggered WhatsApp queue processorCron job
/api/healthGETHealth check endpointPublic
/api/metricsGETApplication metricsPublic
/api/receipts/[id]/pdfGETServe receipt PDF for download/printAuthenticated
/api/sentry-example-apiGETSentry error test endpointAny
/receipts/[id]GETPublic receipt view/redirectPublic

1.3 Admin Routes ((admin) Route Group)

These routes share the Admin Layout with sidebar navigation. Accessible by: admin, counselor, warden (role-dependent).

1.3.1 Dashboard

RoutePageRoles
/dashboardDashboard Pageadmin, counselor, warden

Widgets:

  • Total Leads — Count of all leads (admin, counselor)
  • Hot Leads — Subset of leads marked "hot" (admin, counselor)
  • Admissions — Total admissions count (admin, counselor)
  • Students — Active student count (admin, counselor, warden)
  • Revenue — Sum of all paid fees in paise (admin, counselor)
  • Pending Outings — Outings awaiting approval (admin, warden)
  • Pending Medical Requests — Medical requests awaiting acknowledgment (admin, warden)
  • WhatsApp Messages — Total notification count (admin)
  • Currently Out — Approved outings not yet returned (warden only)
  • Charts Section:
    • Leads by Status — Pie/bar chart of lead distribution
    • Fee Collection — Time-series chart of fee collection
    • (Hidden for warden role)

1.3.2 Leads (CRM)

RoutePageRoles
/leadsLeads list (Kanban view default)admin, counselor
/leads?status=XLeads table view (drill-down from Kanban)admin, counselor
/leads/newCreate new lead formadmin, counselor
/leads/[id]Lead detail pageadmin, counselor
/leads/[id]/editEdit lead formadmin, counselor

Components on Leads Page:

  • Kanban Columns: New, Contacted, Interested, Registered, Admitted, Lost
  • Filters: Branch, Date Range (from/to), Search
  • Sortable Columns (table view): Student Name, Parent Name, Probability, Created Date

Components on Lead Detail Page:

  • Student Information Card
  • Parent Information Card
  • Lead Status Card
  • Registration Receipt Card (if registered)
  • Phone Action Buttons (call/WhatsApp)
  • Follow-up Timeline
  • Edit Lead button
  • Register button (if eligible)
  • Convert to Admission button (if eligible)

1.3.3 Admissions

RoutePageRoles
/admissionsAdmissions listadmin, counselor
/admissions/newNew admission form (with leadId query param)admin, counselor
/admissions/new?leadId=XNew admission form pre-filled from leadadmin, counselor
/admissions/[id]Redirects to /students/[id]admin, counselor
/admissions/[id]/editEdit admission (historical snapshot only)admin, counselor

Filters on Admissions Page: Branch, Course, Date Range (from/to), Search

Admission Form Sections (New):

  1. Student Details — Name, Class, Target Exam, Date of Birth, Gender
  2. Contact Details — Phone (parent), Email, Father/Mother/Local Guardian phones
  3. Academic Info — Course, Batch, Board, School, Medium
  4. Address — State, Full Address
  5. Hostel — Room, Bed, Locker selection (if hostel opted)
  6. Fee Structure — Admission Fee, Hostel Fee, Installment schedule
  7. Payment — Amount Paid, Payment Mode, Transaction ID, Screenshot
  8. Documents — Document checklist items (photo upload per item)
  9. Admission Items — Items to be given to student
  10. Student Photo — Upload

1.3.4 Students

RoutePageRoles
/studentsStudents listadmin, counselor, warden
/students/[id]Student detail pageadmin, counselor, warden
/students/[id]/editEdit student profileadmin, counselor

Filters on Students Page: Branch, Course, Batch, Class, Status, Hostel Status, Admission Type, Session, Search Actions: Export to Excel

Student Detail Page Sections:

  • Header: Photo, Name, Batch, Branch, Status badge, Session status
  • Action Buttons: Edit Profile, Batch Transfer, Promote, Re-enroll, Reinstate, Parent Password Reset, Parent Account Creation
  • Personal Info Card: Name, DOB, Class, Target Exam, Board, Medium, School, Address, Aadhaar
  • Contact Info Card: Parent name/phone/WhatsApp, Father/Mother/Guardian phones, Email
  • Hostel Info Card: Room, Bed, Locker, Hostel name (if hostel opted)
  • Admission Info Card: Admission type, date, fee snapshot, transaction details
  • Documents Card: Checklist items with status and document links
  • Admission Items Card: Items given/remaining
  • Fee Card: Fee record, payment progress, installment timeline
  • Payment History: Transaction table with Edit/Void/Pay actions
  • Enrollment History Card: Session-by-session enrollment history
  • Re-enroll Dialog — For students who left/completed
  • Promote Dialog — Move to next session
  • Status Transition Dialog — Mark as Left/TC Issued/Removed/Completed

1.3.5 Fees

RoutePageRoles
/feesFees ledgeradmin, counselor

Filters on Fees Page: Branch, Batch, Course, Due Date Range, Search Columns: Student Name, Batch, Total Fee, Paid, Outstanding, Status (Paid/Pending/Partial/Overdue), Last Payment

1.3.6 manual Receipts

RoutePageRoles
/manual-receiptsGenerate receipts for non-admission paymentsadmin, counselor

1.3.7 Hostel

RoutePageRoles
/hostelHostel managementadmin, warden
/hostel/outings/[id]Outing review detailadmin, warden

Hostel Page Tabs:

  • Directory — Student hostel directory (room, name, contact, status)
  • Outings — Outing requests list with status filter
  • Medical Requests — Medical request queue

Outing Review Page: Request details, review form (Approve/Reject), student/branch info

1.3.8 Users (Admin Only)

RoutePageRoles
/usersUser managementadmin

Features: Create user, Edit user, Toggle active status, Reset password, Role assignment, Branch assignment, Hostel assignment

1.3.9 WhatsApp Log (Admin Only)

RoutePageRoles
/whatsapp-logWhatsApp message delivery logadmin

Filters: Status, Event Type, Date Range, Search by recipient/template

1.3.10 Audit Log (Admin Only)

RoutePageRoles
/audit-logSystem audit trailadmin

Filters: Entity Type, Action, Date Range, Search Features: Human-readable summaries for each audit entry

1.3.11 Announcements (Admin Only)

RoutePageRoles
/announcementsCreate/manage announcementsadmin

1.3.12 Settings (Admin Only)

RoutePageRoles
/settingsSystem configurationadmin

Settings Tabs:

  • Academy — Academy name, GST settings
  • Branches — Add/edit/toggle branches
  • Courses — Add/edit/toggle courses
  • Batches — Add/edit/toggle batches (with fee fields and payment schedule)
  • Sessions — Create/activate/deactivate academic sessions
  • Hostels — Add/edit/toggle hostels per branch
  • Checklist — Document checklist items configuration
  • WhatsApp — Notification settings (toggles for each event type)

1.3.13 Batches

RoutePageRoles
/batches/[id]Batch detail view (students, fee structure)admin, counselor

1.4 Parent Routes (/parent/)

RoutePageRoles
/parent/dashboardParent dashboardparent
/parent/hostel-outingRequest/View hostel outingsparent (hostel students only)
/parent/medicalSubmit/View medical requestsparent (hostel students only)
/parent/receiptsView receipts for all linked studentsparent
/parent/receipts/[id]Receipt detail with printparent

Parent Dashboard Widgets:

  • Students linked to account
  • Upcoming fee installments
  • Recent receipts
  • Recent outing requests
  • Recent medical requests
  • Announcements matching student profiles

1.5 Warden Routes (/warden/)

RoutePageRoles
/wardenWarden dashboard (redirects to /dashboard)warden, admin
/warden/studentsWarden student directorywarden, admin
/warden/medicalMedical request queuewarden, admin
/warden/exportExport student datawarden, admin

2. SIDEBAR NAVIGATION (Staff)

#LabelIconhrefRoles
1DashboardLayoutDashboard/dashboardadmin, counselor, warden
2LeadsUsers/leadsadmin, counselor
3AdmissionsClipboardList/admissionsadmin, counselor
4StudentsGraduationCap/studentsadmin, counselor, warden
5FeesIndianRupee/feesadmin, counselor
6manual ReceiptsPrinter/manual-receiptsadmin, counselor
7HostelHome/hosteladmin, warden
8UsersUserPlus/usersadmin
9WhatsApp LogMessageCircle/whatsapp-logadmin
10Audit LogScrollText/audit-logadmin
11AnnouncementsMegaphone/announcementsadmin
12SettingsSettings/settingsadmin

Additional Sidebar Elements:

  • Parent Portal Link (bottom of sidebar) — shown when user has linked parent students; navigates to /parent/dashboard
  • Branch Filter (in header) — shown only for admin/counselor roles

3. PARENT NAVIGATION

#LabelIconhrefCondition
1DashboardHome/parent/dashboardAlways
2Hostel OutingMapPin/parent/hostel-outingHas hostel students
3Medical RequestsActivity/parent/medicalHas hostel students
4ReceiptsReceipt/parent/receiptsAlways
5Staff Portal/dashboardStaff role with linked students

4. WARDEN NAVIGATION

#LabelhrefDescription
1Dashboard/warden(redirects to /dashboard)
2Students/warden/studentsHostel student directory
3Medical Queue/warden/medicalMedical request management
4Export/warden/exportData export

5. DIALOGS, DRAWERS, AND MODALS

ComponentTriggered FromPurposeRoles
Register Lead DialogLead detail page / Lead formConvert lead to registered with paymentadmin, counselor
Add Payment Dialog (3 modes)Fees page / Student detailNew payment, edit payment, resolve installmentadmin, counselor
Receipt History DialogFees table rowView/download receipts for a studentadmin, counselor
Batch Transfer DialogStudent detail pageMove student to different batchadmin, counselor
Batch Enrollment DialogBatch detail pageView/enroll students in batchadmin, counselor
Status Transition DialogStudent detail pageMark Left/TC Issued/Removed/Completedadmin, counselor
Re-enroll DialogStudent detail pageRe-admit student for new sessionadmin, counselor
Reinstate DialogStudent detail pageRestore previously left studentadmin, counselor
Promote DialogStudent detail pagePromote to next academic sessionadmin, counselor
User DialogUsers pageCreate/edit system useradmin
User Status ToggleUsers pageActivate/deactivate useradmin
Outing Review FormOuting detail pageApprove/reject outing requestadmin, warden
Create Parent Account ButtonStudent detail pageGenerate parent portal credentialsadmin, counselor
Reset Parent Password ButtonStudent detail pageReset parent portal passwordadmin, counselor
Phone Action ButtonsLead detail page / Student detailCall or WhatsApp contactadmin, counselor
Search Input (global)Header/PageQuick search across entitiesAll staff

6. MOBILE NAVIGATION

The mobile sidebar is a slide-out Sheet component containing the same NAV_ITEMS as the desktop sidebar, role-filtered identically. Includes logo, branch-aware links, and optional Parent Portal link.


7. AUTHENTICATION FLOW

Login Page (/login) ↓ Email + Password + Remember Me ↓ Rate limited: 5 attempts/IP/60s ↓ Better Auth signInEmail API ↓ If parent → redirect /parent/dashboard ↓ If admin/counselor/warden → redirect /dashboard Forgot Password (/forgot-password) ↓ Email + Rate limited: 3 requests/email/120s ↓ Better Auth requestPasswordReset API ↓ Email sent with reset link → /update-password?token=X Update Password (/update-password) ↓ New Password + Token OR Existing Session ↓ Rate limited: 5 attempts/IP/60s ↓ If parent → redirect /parent/dashboard ↓ If staff → redirect /dashboard Logout (from header user menu) ↓ Better Auth signOut API ↓ Redirect /login

8. RECEPTION/Front-Desk WORKFLOW MAP

The front desk workflow spans multiple screens in a sequential flow:

/leads/new → /leads → /leads/[id] → /leads/[id]/edit ↓ (Register) Register Dialog → receipt generated ↓ (Convert to Admission) /admissions/new?leadId=X → Submit Admission ↓ Student created, parent account created, fee record, installments, receipt, document checklist ↓ /students/[id] → Student details