Scolify LMS
An online-course platform with DRM video, receipt-based payments and three role dashboards. Teachers publish courses as modules and lectures with protected video and timed quizzes. Students pay by transfer, upload the receipt, and get access as soon as it's approved.
- Role
- Full-stack developer: Django REST APIs, plus the React + TypeScript dashboard for all three roles.
- Engagement

Cyparta- Surfaces
- Admin dashboard, Teacher dashboard, Assistant dashboard
- Links
- Live dashboard

- roles served from one dashboard
- 3
- permission toggles per teaching assistant
- 30+
The problem
Private teachers and academies in the region sell courses through bank and wallet transfers, not card checkouts, and they lose revenue to shared accounts and leaked videos. Scolify is built around that: receipts instead of a checkout, and content protection by default.
What it does
- 01A student buys a whole course or just the modules they need, applies a coupon, pays by InstaPay or wallet transfer and uploads the receipt.
- 02The admin, the teacher, or an assistant with permission reviews the receipt and approves it in one click, and access is granted automatically.
- 03Teachers build lectures with several DRM-protected videos, files and quizzes (multiple choice, true/false, time limit, pass mark), then review results answer by answer.
- 04Admins cap active sessions per student and can log a student out of every device.
- 05Teachers add assistants and decide exactly what each one can create, view, update or delete.
What I did
- Built the Django REST APIs for courses, orders and payments, quizzes, sessions and permissions.
- Built role-based dashboards for admins, teachers and assistants in React + TypeScript.
- Integrated VdoCipher for secure video delivery, and Dnd-Kit for drag-and-drop module and lecture ordering.
Engineering
01
Payments without a payment gateway
Each order carries its uploaded receipt, and approval unlocks exactly what was bought, a course or individual modules, so access is never granted by hand.
02
Stopping account sharing
Active sessions are capped per student, and the admin can revoke all of a student's sessions at once.
03
One dashboard, three products
Admins, teachers and assistants share one React app. What each sees comes from the API's permissions, with a matrix of 30+ toggles per assistant scoped to their assigned courses.
Screens
Inside the product.
Click any screen to view it full size. Dashboards show fictional demo data.
Stack
Backend
- Python
- Django
- Django REST Framework
- Celery
- Redis
- MySQL
- S3-compatible storage
- Docker
Frontend
- React
- TypeScript
- Vite
- Redux Toolkit
- TanStack Query
- React Hook Form
- Zod
- shadcn/ui
- i18next
- Dnd-Kit
Integrations
- VdoCipher DRM
- Firebase Cloud Messaging