Jun 2025 – Dec 2025
A complete digital ecosystem including an e-learning platform, attendance management system, and mobile learning application.
Elkably E-Learning is a full-stack education platform designed for an IG mathematics provider, combining learning, commerce, live classes, and administration in one unified system. It includes a public course catalog, a full e-learning experience with structured content and quizzes, a complete payment and checkout system, Zoom-based live classes, and a mobile API for student access. The goal was to replace separate tools with a single platform that manages the entire student journey from registration to learning and payment.
The main challenge was building a reliable education platform that behaved consistently on web and mobile while respecting real-world constraints: commerce (Paymob with delayed or missed confirmations), live instruction, and accurate student progress. Payments had to be trustworthy—not only taking cards and wallets, but recovering success when webhooks or redirects failed. The architecture had to support different authentication models for browser sessions and native apps without splitting business rules across codebases. Live classes, quizzes, and progress needed to stay one logical system so entitlement and reporting stayed aligned as load grew. An additional operational hurdle was the end-to-end lifecycle from Zoom—once sessions ended, getting usable recordings out of Zoom and publishing them through Bunny (CDN/streaming) without breaking access rules or mobile playback had to sit in the same reliability story as checkout and enrollment, not as a disconnected manual step.
The platform uses Node.js and Express so one backend can serve server-rendered pages, mobile JSON APIs, webhooks, and integrations together. MongoDB with Mongoose fits nested courses, quizzes, and progress, and connect-mongo stores Express sessions alongside application data. The frontend pairs EJS with client-side JavaScript for interactive UX. Authentication uses sessions for web and JWT with OTP for mobile, keeping one domain model while matching each client’s security model. Paymob supports regional payment methods; webhooks are complemented by background checks when confirmations are late or missed, so payments and enrollments stay in sync. Zoom powers live classes; Bunny handles recording delivery so playback stays under the same access rules as the rest of the platform. Socket.IO covers real-time features, Firebase Cloud Messaging covers push notifications, and Cloudinary (with optional local storage) handles media. Logging, tests, and Excel/PDF exports support operations and admin analytics in production.
Every feature designed with purpose, precision, and real-world usage in mind.
Cart, bundles, promos, and Paymob payments—cards and regional wallets—with webhook handling and background reconciliation so successful payments reliably unlock enrollments.
Zoom sessions for live teaching, with recordings published through Bunny so students get consistent, streaming-friendly playback tied to course access.
Session-based web auth alongside JWT + OTP mobile APIs—same courses, quizzes, progress, and orders without duplicating business logic.
Socket.IO powers interactive, low-latency experiences such as collaborative game rooms alongside the core learning flows.
Rich student progress plus admin analytics and exports—visibility into learning outcomes and revenue, not just content delivery.
A suite of tightly integrated modules that connects regional payments, live instruction, media delivery, and notifications—so teaching, access control, and operations stay aligned in one workflow.
Paymob powers checkout for cards and mobile wallets in markets where those methods dominate. The integration spans hosted card flows and newer unified-checkout APIs, with server-side verification and follow-up reconciliation so enrollments reflect paid orders even when callbacks are delayed or missed.
Zoom is used to deliver scheduled, instructor-led sessions tied to course topics. Administrative flows cover creating and controlling meetings, while student flows enforce the right join conditions—keeping live instruction auditable and consistent with who is entitled to attend.
After Zoom produces class artifacts, Bunny supports publishing and streaming-friendly delivery so students can review sessions without treating video as a separate product. The goal is continuity: the same course access rules govern live attendance and on-demand playback.
Firebase Cloud Messaging connects operational and learning events to mobile users—think enrollment updates, session reminders, and account signals—without forcing users to keep a browser tab open. Token lifecycle is treated as part of auth and profile management so delivery stays maintainable.
Cloudinary centralizes image transformation and delivery for marketing pages, course visuals, and user-generated uploads where applicable. The intent is predictable performance and consistent URLs—not hand-managed static folders—while keeping the core API focused on business logic.
Real numbers from real deployment — results that speak for themselves.
Next step
Tell us about your product, timeline, and goals — we'll respond with a clear plan and honest timeline.