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 inapp/Models/v1/Role.php:
There are also test roles:
TUTOR_TEST (100) and STUDENT_TEST (101).
Quick links
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