Modern LMS platform for creating, selling, and consuming online courses.
TechTutor is a full-stack learning platform built with a scalable architecture.
It supports course management, payments, quizzes, and progress tracking.
| Layer | Technology |
|---|---|
| Backend | Laravel (PHP) |
| Frontend | React (SPA + SSR) |
| Database | PostgreSQL |
| Search | MeiliSearch |
| API | REST |
Frontend
Build tooling
- Sign up / login with email
- Email verification and password reset
- OAuth login (planned)
- Purchase courses
- Watch lessons (video, text, files)
- Pass quizzes & get results
- Track learning progress
- Leave reviews & comments
- Create & manage courses
- Upload lessons & materials
- Build quizzes
- Track student progress
- View course analytics
- Manage users & roles
- Moderate content
- Monitor platform activity
- Manage payments
- Sanctum token authentication
- Email/password login
- Email verification and password reset
- OAuth login (planned)
- Optional 2FA
- Rate limiting & CAPTCHA
- Protection against XSS / SQL Injection
- Course search & filtering
- Responsive UI
- Notifications (Email / Push)
- Payment integration (LiqPay / Stripe)
- Analytics integration
User
Course
Module
Lesson
Quiz
QuizAttempt
Enrollment
Progress
RESTful API for all core features.
- Role-based access control (RBAC)
- SSR for performance & SEO
- Modular structure (Courses → Modules → Lessons)
- Scalable service integrations
- Backend readiness: about 90%
- Frontend/demo readiness: partial integration shell for presenting backend flows
- Current priority: connect real payment providers before advanced integrations such as OAuth, 2FA, MeiliSearch, and CI/CD
-
PostgreSQL-backed Laravel API with migrations
-
Domain models and relations:
- User, Course, Module, Lesson, Enrollment, Progress, Quiz, QuizQuestion, QuizAttempt, Review, Comment, Payment, CourseCertificate, PublishRequest
-
CRUD and flow endpoints for:
- Registration, login, logout, current-user profile, email verification, and password reset
- Courses, modules, lessons
- Course catalog search, filters, sorting, and catalog metadata
- Enrollment and lesson progress
- Course completion certificates
- Quizzes, single-choice/multiple-choice questions, backend-scored quiz attempts, and live quiz analytics
- Reviews, lesson comments, moderation queue, and payments
- Internal purchase flow with receipts and paid-course enrollment gating
- Email notifications for enrollment, quiz results, certificate issuance, and handled publish requests
-
Admin endpoints for:
- User listing, role changes, and ban management
- Content moderation queue plus review and comment approval
- Live platform activity and payment monitoring
-
Role-aware access checks (student, instructor, admin)
-
Ban enforcement for protected API access
-
Rich demo seed data for users, courses, lessons, enrollments, progress, payments, quizzes, reviews, lesson comments, and moderation queue items
-
Sanctum-protected routes for private actions
-
Feature tests for core flows
-
Publish-request workflow (instructors request publishing; admins approve/decline). See
docs/backend-api.mdfor details.
- Course list and course detail from backend
- Quick seeded login through the real auth API for student, instructor, admin, and banned-user testing
- Role-aware demo panels for payments, admin users, and moderation queue
- Paid-course purchase action wired to backend receipts and enrollment activation
- Instructor dashboard summary from live backend aggregates
- Admin platform activity and payment monitor from live backend aggregates
- Enroll, lesson completion, and certificate issuance actions wired to backend
- Catalog filters and quiz attempt submission wired to backend
- Instructor/admin quiz analytics displayed from live backend aggregates
- Demo actions for enrollment, quiz attempts, and certificate issuance trigger backend email notifications when the mailer is configured
Detailed setup, API, and testing notes live in docs/:
For local development commands and token helper details, see the docs pages above.
- Project setup (Laravel + React + PostgreSQL + Docker)
- Sanctum token authentication
- Email/password login
- Registration flow
- Current-user profile endpoint
- Logout / token revocation
- Email verification
- Password reset flow
- OAuth login with Google
- OAuth login with GitHub
- Optional 2FA
- Rate limiting
- CAPTCHA
- Production security hardening
- Role-based access control (student, instructor, admin)
- Ban enforcement for protected API routes
- Course CRUD (instructor)
- Module CRUD (instructor)
- Lesson CRUD (instructor)
- Lesson content fields for text/video/file metadata
- Production-ready lesson file upload/storage pipeline
- Course publish / draft logic
- Course thumbnail & metadata
- Modular structure (Course → Modules → Lessons)
- Course catalog with database-backed search & filtering
- MeiliSearch-powered catalog indexing/search
- Course detail / preview page
- Enrollment flow
- Lesson viewer (video player, text renderer, file downloads)
- Progress tracking (per lesson, per module, per course)
- Course completion certificates
- Quiz CRUD (instructor)
- Question types (single choice, multiple choice)
- Quiz attempts & backend-calculated scoring
- Pass threshold logic
- Attempt history for students
- Quiz analytics for instructors
- Internal payment records
- Course pricing for free/paid courses
- Instructor/admin revenue reporting from internal paid records
- Admin payment monitoring dashboard
- Verified purchase state and paid-course access gating
- Purchase flow
- Receipts
- Stripe checkout integration
- LiqPay checkout integration
- Payment provider webhooks
- Refund handling
- Instructor payouts
- Subscription pricing
- Course reviews & star ratings
- Lesson comments
- Comment moderation (admin)
- Review moderation (admin)
- Email notifications (enrollment, quiz results, certificates, publish requests)
- Auth email notifications (verification, password reset)
- New content email notifications
- In-app notifications
- Push notifications
- Course management overview
- Student progress per course
- Revenue & enrollment analytics
- Content upload & management
- User management (view, ban, role change)
- Content moderation queue
- Platform activity monitor
- Payment & revenue overview
- Student engagement metrics
- Course completion rates in instructor dashboard
- Revenue reports
- Search analytics (popular queries, zero results)
- SSR setup for public pages (catalog, course detail)
- SEO meta tags & Open Graph
- Image optimization & CDN
- Lazy loading & pagination
- Responsive UI across all pages
- Dark / light mode
- Multi-language support
- Accessibility (WCAG compliance)
- API documentation
- Tests (unit + feature)
- Seed / mock data
- CI/CD pipeline