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)