
Project / 05
EduBridge Hub
A role-based tutoring platform built with Next.js and Spring Boot, covering tutor onboarding, course packages, availability calendars, QR payments, admin verification, realtime classroom, chat, and collaborative whiteboard.
Role
Full-stack Developer
Timeline
Jul 2025 - Nov 2025
Status
Beta
Product Screens
Real
interface
Actual product screens, synced to scroll so each interface gets its own moment.
1/9
Choose teacher or student
2/9
Book a tutor
3/9
Calendar overview
4/9
Course management
5/9
Create course
6/9
Create calendar
7/9
Student calendar
8/9
Study board
9/9
Dark theme









Overview
What this project is
EduBridge is a multi-role online tutoring platform for students, tutors, and admins. Students can search tutors, inspect profiles, pick course packages, select available slots, book sessions, and pay by QR. Tutors can onboard, upload verification documents, manage courses, create schedules, track transactions, and teach through an online classroom. Admins manage users, verify tutor documents, inspect transactions, and handle platform operations.
Target users
Students looking for verified tutors, tutors who want to sell structured learning packages, and admins who need to manage verification, payments, users, and platform trust.
Goal
Build an end-to-end education marketplace where discovery, tutor verification, course packaging, booking, payment, class sessions, feedback, and transactions live in one connected product.
Key Features
Main things it can do
Marketplace and onboarding
- Role selection for student or tutor after registration
- Tutor onboarding with verification documents, profile media, subjects, languages, and education details
- Student tutor discovery with search, filters, profile detail, courses, schedules, reviews, and awards tabs
Booking and scheduling
- Tutors create availability blocks and weekly teaching schedules
- Students select course packages and the exact number of required sessions
- Backend validates verified tutor status, slot ownership, duration, overlap, held slots, and past-time booking
Payments and transactions
- QR payment flow using PayOS and VietQR-style payment requests
- Webhook signature validation updates bookings, payments, transactions, charity records, and confirmation emails
- Supports refund QR, tutor payout QR, payout confirmation, bank verification QR, and admin transaction ledgers
Online classroom
- SignalR room groups for join, leave, chat, peer ID exchange, and whiteboard broadcast
- PeerJS video calling with camera, microphone, screen sharing, remote participant grid, and media controls
- tldraw collaborative whiteboard with snapshot sync, debounced persistence, and reload of latest session state
Admin and trust operations
- Admin dashboard with users, students, tutors, pending approvals, and total user stats
- Tutor document review, approve, reject, delete user, and verification document modal
- Admin transaction pages for service fees, payouts, refunds, charity tracking, and system ledger views
Technologies Used
Stack by layer
Frontend
Next.js 15React 19TSTypeScriptTailwind CSS 4shadcn/Radix UIMotionnext-intl
State and API
Redux ToolkitRTK QueryRedux Persistasync-mutexRAM token cacheRefresh token rotation
Classroom
SignalRPeerJSWebRTCtldrawFullCalendarScreen sharingRealtime chat
Backend
Spring Boot Core 8C#Entity Framework CoreSQL ServerJWT BearerSwaggerRepository pattern
Payments and jobs
PayOSVietQRQRCoderHangfireBackgroundServiceWebhook signature validationTransaction ledger
Integrations
CloudinaryZoom APIZoom SDK signatureNodemailer-style email serviceRechartsAzure App Service profile