In 2019, for my graduation thesis at Hanoi University of Science and Technology, my classmate Huy and I developed a real-time e-learning system designed to bridge the gap between traditional classrooms and remote education. Working closely together, Huy introduced me to advanced architectural concepts such as single sign-on, microservices, hexagonal architecture, and event sourcing-ideas that deeply shaped both my technical skills and my understanding of scalable system design.

Building on these foundations, we chose cutting-edge technologies including React.js, Redux.js, Socket.IO (over WebSocket), Node.js/Express, Google Cloud Platform (for Storage and Firestore), and Heroku, enabling us to create a responsive, interactive, and extensible web platform. Our system delivers real-time, replayable online lectures-bringing together seamless authentication via the university’s account system, robust lecture management tools for teachers (with live video streaming, synchronous slide/drawing/YouTube sharing), and engaging attendance and interactive replay capabilities for students.

Reflecting on my graduation thesis, I’m proud of the rigor in our requirement gathering, architectural choices, documentation, and thorough development process-which have all influenced my approach to software engineering since. The detailed specification and the end-to-end design we produced became a benchmark for my future technical writing. Ultimately, we contributed both our research and source code to the university, where Dr. Nguyen Thanh Hung-the head of IT and our thesis supervisor-integrated the system into the university’s IT infrastructure. It was an incredible learning journey, and a deeply satisfying contribution.

If you’re curious, I’ve included the short and full demo videos below: