تفاصيل العمل

English

Sessionify — Real-Time Interactive Classroom & Coding Contest Platform

Sessionify is a backend system built to make in-person, offline classrooms interactive in real time. It lets teachers share live content — slides, documents, and code — directly to students' own laptops or mobile devices, while also powering automated coding contests and quizzes that bring competitive, gamified learning into the physical classroom.

Core Features:

Real-Time Interaction – live PDF/slide syncing and instant push of code snippets and materials to all connected student devices via Socket.io

Coding Contests & Auto-Grading – teachers create programming challenges that are automatically judged and graded using the Piston API for code execution

Quizzes & Leaderboards – timed quizzes with immediate results, plus live-updating leaderboards to drive engagement during contests

Teacher Dashboard – organize courses, send student invitations, and track progress across sessions

Student Dashboard – access session materials and view personal performance history

Tech Highlights:

Built with Node.js (Express v5) and TypeScript for a fully type-safe backend

PostgreSQL + Drizzle ORM for structured, reliable data modeling

Socket.io for low-latency real-time communication between teacher and student devices

BullMQ + Redis to queue and manage code submissions, ensuring the server stays stable during high-traffic contests

Better-Auth for secure authentication, and AWS S3 for file/document storage

Clean separation of concerns across controllers, services, repositories, and socket layers

Fully documented REST API (via Apidog) for easy integration and testing

Designed to run the code-execution engine (Piston) on a separate instance, keeping the main server fast and resilient under load

This project demonstrates strong backend architecture skills — real-time systems, queue-based job processing, secure auth, and a scalable design built specifically to handle bursty, high-concurrency classroom events like live contests.

العربية

Sessionify — منصة فصول دراسية تفاعلية لحظية ومسابقات برمجية

Sessionify هو نظام Backend مصمم لتحويل الفصول الدراسية التقليدية (الحضورية) إلى بيئة تفاعلية لحظية. يتيح للمعلمين مشاركة المحتوى مباشرة — كالشرائح، المستندات، والأكواد — مع أجهزة الطلاب الخاصة (لابتوب أو موبايل) فور حدوثها، بالإضافة إلى دعم مسابقات برمجية واختبارات تلقائية تضيف عنصر التنافس والتحفيز داخل الفصل الفعلي.

أهم المميزات:

تفاعل لحظي (Real-Time) – مزامنة فورية للشرائح والمستندات (PDF)، بالإضافة إلى دفع أكواد ومواد تعليمية مباشرة لجميع أجهزة الطلاب المتصلة عبر Socket.io

مسابقات برمجية وتصحيح تلقائي – يقوم المعلمون بإنشاء تحديات برمجية يتم تصحيحها وتقييمها تلقائيًا باستخدام Piston API لتشغيل الأكواد

اختبارات قصيرة ولوحات صدارة – اختبارات بوقت محدد مع نتائج فورية، ولوحات صدارة (Leaderboards) تتحدث لحظيًا لزيادة التحفيز خلال المسابقات

لوحة تحكم المعلم – تنظيم الدورات، إرسال دعوات للطلاب، وتتبع تقدمهم

لوحة تحكم الطالب – الوصول لمواد الجلسة ومتابعة سجل الأداء الشخصي

أبرز التقنيات المستخدمة:

بُني باستخدام Node.js (Express v5) وTypeScript لضمان أمان كامل للأنواع (Type Safety) في الخلفية

PostgreSQL مع Drizzle ORM لنمذجة بيانات منظمة وموثوقة

Socket.io للاتصال اللحظي منخفض زمن الاستجابة بين أجهزة المعلم والطلاب

BullMQ مع Redis لإدارة قائمة انتظار تسليم الأكواد، مما يضمن استقرار الخادم أثناء المسابقات عالية الضغط

Better-Auth لنظام مصادقة آمن، وAWS S3 لتخزين الملفات والمستندات

فصل واضح للمسؤوليات بين طبقات Controllers و Services و Repositories و Socket

واجهة REST API موثّقة بالكامل (عبر Apidog) لتسهيل الدمج والاختبار

تم تصميم النظام لتشغيل محرك تنفيذ الأكواد (Piston) على خادم منفصل، لضمان بقاء الخادم الرئيسي سريعًا ومستقرًا تحت الضغط

يُبرز هذا المشروع مهارات قوية في بناء أنظمة Backend متقدمة — تشمل أنظمة لحظية (Real-time)، معالجة المهام عبر قوائم الانتظار (Queue-based)، مصادقة آمنة، وتصميم قابل للتوسع مُعدّ خصيصًا للتعامل مع أحمال مرتفعة ومتقطعة كالمسابقات الحية داخل الفصول الدراسية.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات