Skip to main content

What it is

The tutorbloc-client is a Vue 2 Single Page Application that serves the public-facing website, tutor registration, student booking flows, and user profile management. It communicates with the tutorbloc-api backend via REST — see the backend architecture and API reference for the other half of the system.

Tech stack

No TypeScript — the entire codebase is plain JavaScript. Data structures are implicit through usage, not typed interfaces.

What it does NOT have

  • No Vuex or any state management library — component-level state only
  • No test framework (no Jest, Cypress, or Playwright)
  • No CI/CD pipeline — manual Docker builds
  • No TypeScript
  • No external form library — manual validation in components
  • No external design system (no shadcn, Radix, MUI, Tailwind)

Key characteristics

  • 55+ routes with code-splitting via Webpack dynamic imports
  • ~53 reusable components + ~27 page views
  • Multi-step registration flow (6 steps for tutors)
  • Session-based auth via sessionKey header (stored in sessionStorage)
  • Mixed API patterns — both Axios and raw XMLHttpRequest used
  • Responsive design — custom CSS breakpoints at 768px (mobile) and 1000px (desktop)

Environment URLs

Analytics & tracking

Color palette (CSS variables)