
EduSphere
A learning platform supporting classes, assignments, quizzes, recurring schedules and teacher workflows.
Role: Backend Developer
Engineered a JWT-based RBAC system across 6 user roles (Student, Teacher, School, Supervisor, Admin, Super Admin) with role-assignment, fine-grained permission management, and parental consent workflow for minor students.
Designed a public-cache + post-cache user hydration strategy for marketplace browse APIs — cached shared catalog payloads (filter hash–keyed, versioned) in Redis and injected per-user state (isWishlisted, isPurchased, isOwner, live enrollment counts) in-memory per request, eliminating cross-user data leakage with zero per-user cache-key bloat.
About EduSphere
A learning platform supporting classes, assignments, quizzes, recurring schedules and teacher workflows.
Project highlights
- Engineered a JWT-based RBAC system across 6 user roles (Student, Teacher, School, Supervisor, Admin, Super Admin) with role-assignment, fine-grained permission management, and parental consent workflow for minor students.
- Designed a public-cache + post-cache user hydration strategy for marketplace browse APIs — cached shared catalog payloads (filter hash–keyed, versioned) in Redis and injected per-user state (isWishlisted, isPurchased, isOwner, live enrollment counts) in-memory per request, eliminating cross-user data leakage with zero per-user cache-key bloat.
- Built a non-blocking Redis cache invalidation utility using SCAN + UNLINK (wildcard pattern matching) triggered on every Prisma mutation — ensuring cache consistency across dynamic tax rates, pricing updates, and class status changes without blocking Redis like KEYS would.
- Integrated BullMQ + Redis with a separate worker process (start:worker) for email delivery and newsletter campaigns — implemented checkpoint-based resumable batching (persisting progress in Redis on each batch), exponential backoff retries, and SHA-256 deduplication job IDs to prevent duplicate sends.
- Implemented full payment lifecycle (CMI gateway, PreAuth capture, callback handling) with $transaction-wrapped order fulfillment — atomic seat-decrement, enrollment creation, private slot confirmation, and order status update in a single ACID transaction to prevent race conditions and double enrollments.
- Designed a recurring weekly class scheduling engine using Luxon — normalized teacher-defined weekly time blocks (day + minutes-from-midnight + timezone) to viewer-local time on the fly, with clash detection against booked private sessions across international timezones.
- Architected a NestJS monolith with 80+ domain modules (tuition classes, courses, marketplace, hire-teacher, assignments, attendance, quizzes, notifications, invoices, payouts, SEO, i18n) — clean separation of controller/service/DTO layers with Swagger auto-documentation and class-validator DTOs.
- Integrated Socket.io (WebSockets) for real-time notifications and connected to both LessonSpace and PencilSpace meeting providers for live 1:1 private sessions and 1:N Group sessions, with provider selection baked into order metadata at checkout.






