SaaS & Platforms
Tamland.ir
Live online exam-prep classroom
- Role
- Primary author
- Period
- 2019 – 2021
- Commits
- 116 verified
- Status
- live at tamland.ir
Overview
An online entrance-exam classroom I built as primary author — the lms-famiran codebase: a layered ASP.NET LMS solution with Video.js live streaming and an MQTT-powered real-time class chat with host moderation, polling, and participant management. Still in production at tamland.ir.
The solution includes a stored-procedure modeler (Lms.SpModeler) for the reporting-heavy data layer and a Kavenegar integration for SMS enrollment and notifications.
- ZohreFactory/lms-famiranthe full LMS solution (116 commits)
Tech stack
Backend
- C#
- ASP.NET
- SQL Server
- stored procedures
Classroom
- JavaScript
- Video.js
- MQTT
Integrations
- Kavenegar SMS
Repository structure
The actual solution layout on gitlab.com:
├─ Lms.Web web head — Video.js player + MQTT chat UI ├─ Lms.Services application services ├─ Lms.Interfaces service contracts ├─ Lms.Data data access ├─ Lms.Db database project ├─ Lms.SpModeler stored-procedure modeler ├─ Lms.Common shared utilities └─ KavenegarCore SMS gateway integration
Design patterns
Layered services
Web → Services → Data with contracts in Lms.Interfaces — classic n-tier kept honest by the interface project.
MQTT fan-out chat
Classroom chat and presence ride MQTT topics — thousands of students receive host messages without polling.
SP-backed reporting
Lms.SpModeler generates the stored-procedure layer for exam analytics and attendance reporting.