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-famiran.sln
├─ 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.

System design

STUDENTSPLATFORMDATA & SMSstreamsubmoderateClass pageVideo.js playerClass chatMQTT subscribeLms.WebASP.NET headLms.Servicesenrollment · examsMQTT brokerchat · presenceSQL ServerSpModeler procsKavenegarSMS notify