Skip to main content
Tutorbloc is the operating system for educators: crafted for one-to-one teaching with a suite of tools to manage clients and grow earnings. The platform consists of a Laravel API (backend) and a Vue 2 SPA (frontend client).

What the API does

Tutor onboarding

Registration, identity verification (Onfido/Yoti), DBS criminal checks, qualification uploads, multi-step profile completion

Search & discovery

Location-aware tutor search with subject, level, availability, distance, and lesson type filtering

Booking & payments

Lesson booking with Stripe payment processing, pre-authorization, 3D Secure, and automated payouts to tutors

Lesson management

Scheduling, rescheduling (72hr advance notice), cancellation, refunds, and post-lesson review flows

Video lessons

Zoom and Daily.co integration for online tutoring sessions

Notifications

Email (SMTP/Mailgun), push (APNS/FCM), and SMS (Twilio) notifications across all workflows

User roles

The platform has four user roles, defined in app/Models/v1/Role.php:
RoleIDDescription
Tutor1Creates profile, sets availability, teaches lessons, receives payouts
Student2Searches tutors, books lessons, makes payments
Parent3Books lessons on behalf of children, manages child profiles
Internal200Admin access for internal team operations
There are also test roles: TUTOR_TEST (100) and STUDENT_TEST (101).

Local setup

Get the API running on your machine

Where to start reading

The 5 files every new dev should read first

Architecture

How the codebase is structured

Known gotchas

Non-obvious things that will trip you up

Frontend client

Vue 2 SPA — components, routes, and how it talks to the API

API endpoints

Every backend endpoint with auth, params, and responses