Codelab POSN Learning Platform
An interactive web learning platform supporting Python 3 and C++17 (GCC) programming languages, featuring automatic testcase evaluation (Auto-Grader), real-time live code streaming, and dedicated textbook guides for POSN Computer Science training.
System Architecture & Specifications
C++17 Compiler Engine
- • Compiler:
g++ -std=c++17 -O2
- • Time Limit: 1.0 second
- • Memory Limit: 256 MB
- • Execution: Server-side Linux Sandbox
Python 3 Engine
- • Client Interpreter: Skulpt Python 3
- • Time Limit: 3.0 seconds
- • Memory Limit: 256 MB
- • Features: Interactive Terminal Input
Real-Time Live Streaming
- • Protocol: WebSocket (SocketIO + Eventlet)
- • Broadcast Rate: Every 0.5s
- • Teacher View: Live monitoring & revision
Data Storage & Persistence
- • Database: MySQL (Isolated per language)
- • Cache: Dual-language client pre-population
- • Container: Dockerized Multi-Worker Nginx
Version Changelog History
v2.0.0 Major Release (Multi-Language & Textbooks)
August 2026
- • Added C++17 (GCC) compilation and auto-grading engine alongside Python 3
- • Default universal header
#include <bits/stdc++.h> for C++17 starter template
- • Client-side Smart Autocomplete & English Documentation Tooltips (0% Server Load) for C++17 and Python 3
- • Independent code persistence per language in MySQL (Zero code loss or swapping on page refresh)
- • Dual Input Mode: Live interactive terminal input (`📥 Enter input for C++17`) & Auto Test Case #1 mode
- • Dual Textbook System (`doc/python_lessons.html` & `doc/cpp_lessons.html` with Prism.js Highlighting)
v1.5.0 Live Stream & Charcoal Dark Mode
August 2026
- • Real-time SocketIO live code streaming from student to teacher dashboard every 0.5s
- • Complete Charcoal Dark Mode theme UI redesign (`#202023`)
- • Detailed submission status badges (`🟢 Passed`, `🔴 Failed`, `🟡 Revision`, `⏱️ TLE`, `❌ CE`, `⚠️ RE`, `⚪ Draft`)
v1.0.0 Base Core System
August 2026
- • Web IDE for Python 3 (Ace Editor & Skulpt integration)
- • Student Workspace, Teacher Dashboard & Docker container setup