Page Inventory - Train5D Documentation

Train5D Platform Documentation

Last Updated: 2026-03-01

Train5D Application - Page Inventory

Overview

This document provides a comprehensive inventory of all pages in the Train5D application, including their purpose, components, and dependencies.


Core Pages

Page Route Purpose Key Components Dependencies APIs Used
index.tsx / Landing page - Coming Soon None (static content) None None
**_app.tsx** N/A Next.js App wrapper CustomSessionProvider SCSS stylesheets None
dashboard.tsx /dashboard Main user dashboard DashboardLayout, SessionStatusWidget, SessionWarningBanner useCustomSession, useRouter /api/session/cross-device-check
admin.tsx /admin Admin dashboard Welcome, DashboardLayout useCustomSession, useRouter Session APIs

Authentication Pages

Page Route Purpose Key Components Dependencies APIs Used
login.tsx /login User login LoginForm, AuthLayout GetServerSideProps /api/auth/[…nextauth]
register.tsx /register User registration RegisterForm, AuthLayout GetServerSideProps /api/auth/register
forgot-password.tsx /forgot-password Password reset request ForgotPasswordForm, AuthLayout GetServerSideProps, getSession /api/auth/forgot-password
auth/reset-password.tsx /auth/reset-password Password reset form ResetPasswordForm, AuthLayout GetServerSideProps, getSession /api/auth/reset-password
verify-email.tsx /verify-email Email verification None (inline component) useRouter, useState, useEffect /api/auth/verify-email
resend-verification.tsx /resend-verification Resend verification email None (inline form) useRouter, useState /api/auth/resend-verification
auth/signin.tsx /auth/signin NextAuth signin page AuthLayout None /api/auth/[…nextauth]

Assessment Pages

Page Route Purpose Key Components Dependencies APIs Used
assessments/index.tsx /assessments Assessment library/list AssessmentsLibrary, DashboardLayout useCustomSession, useRouter /api/assessments
assessments/create.tsx /assessments/create Create new assessment EditAssessmentForm, DashboardLayout useCustomSession, useRouter /api/assessments (POST)
assessments/[id]/edit.tsx /assessments/[id]/edit Edit existing assessment EditAssessmentForm, DashboardLayout useCustomSession, useRouter /api/assessments/[id]
assessments/[id]/take.tsx /assessments/[id]/take Take/complete assessment Inline assessment form, Lucide icons useRouter, useState, useEffect /api/assessments/[id], /api/assessments/[id]/responses
assessments/my/index.tsx /assessments/my User’s assessments DashboardLayout, Lucide icons useCustomSession, useRouter, useState /api/assessments/my-assessments
assessments/public.tsx /assessments/public Public assessments list Inline list component, Lucide icons useState, useEffect, Link /api/assessments/public
assessments/results/[responseId].tsx /assessments/results/[responseId] Assessment results display Inline results component useRouter, useState, useEffect /api/assessments/responses/[responseId]

Exercise Pages

Page Route Purpose Key Components Dependencies APIs Used
exercises/index.tsx /exercises Exercise library manager ExerciseLibrary, DashboardLayout useCustomSession, useRouter /api/exercises, /api/exercises/lookup-data
exercises/new.tsx /exercises/new Create new exercise ExerciseForm, DashboardLayout useCustomSession, useRouter /api/exercises (POST)
exercises/[id].tsx /exercises/[id] View exercise details DashboardLayout, capitalizeWords utility useCustomSession, useRouter /api/exercises/[id]
exercises/[id]/edit.tsx /exercises/[id]/edit Edit existing exercise ExerciseForm, DashboardLayout useCustomSession, useRouter /api/exercises/[id] (PUT)

Nutrition Pages

Page Route Purpose Key Components Dependencies APIs Used
nutrition/index.tsx /nutrition Nutrition library manager NutritionLibrary, DashboardLayout useCustomSession, useRouter /api/nutrition/foods, /api/nutrition/lookup-data

Utility Pages

Page Route Purpose Key Components Dependencies APIs Used
pricing.tsx /pricing Pricing page UnifiedHeader, Footer useCustomSession, useState, useEffect /api/tiers
account/sessions.tsx /account/sessions Session management SessionManager, SessionStatusWidget, Layout useCustomSession /api/session/list, /api/auth/sessions
testing.tsx /testing Session testing dashboard SessionTestingDashboard GetServerSideProps, getServerSession /api/testing/sessions
workout-builder.tsx /workout-builder Workout builder tool DashboardLayout useRouter, useState, useEffect TBD

Component Dependencies Summary

Most Used Components

  1. DashboardLayout - Used by 12+ pages (all authenticated dashboard pages)
  2. AuthLayout - Used by all authentication pages (6 pages)
  3. useCustomSession - Used by all protected pages (15+ pages)
  4. useRouter - Used by almost all pages for navigation

Layout Components

Major Feature Components

Session Components

Authentication Components


API Routes Summary

Authentication APIs

Session APIs

Exercise APIs

Nutrition APIs

Assessment APIs


Style Dependencies

Global Styles

Component-specific Styles

Most components use scoped styles via CSS modules or styled-jsx.


Protected vs Public Pages

Public Pages (No Authentication Required)

Protected Pages (Authentication Required)

Admin-Only Pages


Key Hooks Used

  1. useCustomSession - Custom session management hook
  2. useRouter - Next.js routing
  3. useState - React state management
  4. useEffect - Side effects and data fetching
  5. GetServerSideProps - Server-side rendering (auth pages)
  6. getServerSession - Server-side session check

Notes