Project: CodeHub - Interactive Online Programming Learning Platform
General Introduction
While the online programming education market is diverse, it often suffers from inherent problems: courses are mainly one-way videos, lack interaction, and students easily get discouraged by complex environment setups and unclear learning paths. This creates a significant barrier for beginners and reduces learning effectiveness.
CodeHub was created to solve these problems. It is an interactive programming learning platform that combines high-quality video lectures with an in-browser IDE. Students can learn theory, practice coding, and get instant feedback without installing any software. The system is built on a powerful ASP.NET Core backend, a specialized learning web interface with Angular, and a convenient mobile app with Flutter for learning anytime, anywhere.
Vision & Objectives
Vision:
To become the leading practical programmer training platform in Vietnam, helping students go from zero to job-ready through real-world projects.
Objectives:
- Build clear learning paths for 5 major knowledge areas (e.g., Frontend, Backend, Mobile).
- Increase the course completion rate by 30% compared to traditional platforms.
- Eliminate technical barriers for beginners with a zero-installation coding environment.
- Build a learning community through Q&A and discussion features.
- Provide a seamless learning experience across web and mobile.
- Production: Azentra Team
- Category: Office
- Duration: 11 months
Key Features
1. Student Platform (Web App - Angular):
- Learning Paths: Provides pre-designed paths for specific career goals, helping students learn with a clear direction.
- Integrated Code Environment: An in-browser code editor that allows writing, running, and testing code for each lesson.
- Multimedia Lectures: Combines videos, detailed articles, and slides to deliver knowledge effectively.
- Challenges & Real-world Projects: Small coding exercises after each video and large projects at the end of each module to reinforce knowledge.
- Q&A: Ask questions directly under each lesson and receive support from instructors and the community.
- Progress Tracking: The system automatically tracks and displays the user's learning progress.
2. Instructor & Admin Management Portal (Web App - Angular):
- Course Management: An interface allowing instructors to create/edit courses, upload videos, and design practical exercises.
- Student Interaction: Track student progress, grade projects, and answer questions.
- Analytics Dashboard: Provides metrics on engagement levels and course completion rates to improve teaching quality.
3. Mobile Application (Mobile App - Flutter):
- Flexible Learning: Allows students to watch video lectures and read theory on their mobile devices.
- Quick Review: Multiple-choice questions and flashcards to review learned concepts.
- Offline Mode: Pre-download lectures to learn even without an internet connection.
- Notifications: Reminders for study schedules and notifications when questions are answered.
Role and Responsibility Allocation
Business Analyst - Thu Thao Nguyen:
- Researches the e-learning market and analyzes competitors to identify strengths and weaknesses.
- Creates user personas (students, career changers) and identifies their core needs.
- Designs the user experience flow from registration and course selection to learning and completion.
UI/UX Designer - Thao Le:
- Designs the user interface for both the web platform and mobile app, focusing on an intuitive, distraction-free learning experience.
- Designs the experience for the integrated code environment, ensuring it is friendly and easy for beginners to use.
- Builds the brand identity and design system for CodeHub.
Technical Lead / Client Communicator - Minh Duc Pham:
- Works directly with education experts or initial instructors to gather input and build suitable teaching features.
- Proposes and decides on the overall technical architecture for the entire system.
- Assists the Backend team in designing complex components like the code execution service or learning progress tracking logic.
Backend Developer - Van Hien Nguyen:
- Primarily responsible for building the entire backend system using .NET Core.
- Designs the database to manage users, courses, lessons, progress, and student submissions.
- Builds RESTful APIs to provide data for the Angular web app and the Flutter mobile app.
Frontend Developer - Quoc Bao Doan:
- In charge of all client-side user interface development using Angular, including both the student platform and the instructor management portal.
- Integrates a code editor (e.g., Monaco Editor) into the web platform.
- Builds interactive interfaces, dashboards, and ensures a smooth user experience in the browser.
Mobile Developer - Van Nhat Pham:
- Responsible for developing the cross-platform mobile app (iOS & Android) using Flutter.
- Builds key features like video playback, multiple-choice quizzes, offline lesson downloads, and the push notification system.
Need a Successful Your Project?