Developing a web application eduhub – a platform for internal e learning with video courses, assignments, and assessments Developing a web application eduhub – a platform for internal e learning with video courses, assignments, and assessments
Project Introduction
Overview
Full name Role Email Phone number
Nguyen Doan Dong Lecturer & Supervisor dongnd@vnu.edu.vn
Table 2 - Supervisor's Information b Student’s Information
Full name Role Email Phone number
Pham Gia Khiem Student 20070845@vnu.edu.vn 0827758033
Motivation
In the evolving educational landscape, students encounter challenges in accessing tailored resources, particularly in International Schools (IS) that integrate technology, business, and management To address these issues, IS-EduHub was created to support IS-VNU students, enhancing their learning experience and facilitating success in their academic and professional pursuits.
Why This Topic Was Picked
The decision to develop IS-EduHub stems from the challenges frequently faced by IS-VNU students The following key reasons highlight the rationale for this choice:
IS-EduHub was established to support Information Systems students by integrating technology, business, and management resources, addressing the challenges they face in finding cohesive learning materials tailored to their interdisciplinary needs.
IS students frequently face challenges in accessing specialized resources, networking with industry mentors, and staying updated with technological advancements These challenges inspired the creation of a dedicated platform aimed at addressing their academic and professional needs.
IS-VNU students are poised to become the next generation of innovators and leaders in technology By equipping them with tools like IS-EduHub, we empower these future leaders to tackle challenges and make significant contributions in their fields.
Key Challenges Addressed by IS-EduHub
IS-EduHub is specifically designed to address the unique challenges faced by IS-VNU students These include:
IS-EduHub offers customized learning paths tailored to the IS-VNU curriculum, setting it apart from generic platforms This alignment ensures that resources are directly connected to coursework, facilitating a smooth integration between classroom learning and self-directed study.
IS-EduHub provides centralized access to specialized resources in areas like data analytics, enterprise systems, and emerging technologies, making it easier for students to find reliable and high-quality information.
• Fostering Collaboration and Mentorship: The platform encourages collaboration among students and provides opportunities to learn from industry professionals through mentorship programs, fostering a supportive learning environment
• Keeping Pace with Technological Trends: The rapidly evolving nature of the IS field necessitates staying updated IS-EduHub incorporates the latest trends, case
13 studies, and practical applications to prepare students for internships, research, and professional careers
The Big Idea Behind IS-EduHub
IS-EduHub aims to empower IS-VNU students by offering a comprehensive platform that transcends basic academic requirements, enabling them to excel in all facets of their education and career The platform is designed with specific goals to enhance the overall student experience and success.
• Encouraging Independent Learning: IS-EduHub provides students with a wide range of resources and personalized recommendations, enabling them to take control of their learning journey and develop critical thinking skills
• Focusing on Practical Skill Development: The platform emphasizes practical, hands-on learning through interactive tutorials, coding challenges, and real-world projects, equipping students with essential skills for the workplace
• Building a Collaborative Community: By connecting students with peers, alumni, and industry professionals, IS-EduHub fosters a sense of community where knowledge-sharing, collaboration, and mentorship thrive.
Related Systems
Coursera is trusted by renowned institutions such as Stanford University, Google, and IBM Course instructors are experts and professionals who deliver high-quality content to learners across the globe
• Link: https://www.coursera.org
Coursera.org is a leading online learning platform that partners with top universities and companies globally to provide a diverse array of courses, certifications, and degree programs Covering subjects such as Technology, Business, Arts, and Sciences, Coursera facilitates access to flexible and affordable educational opportunities for learners by acting as a bridge between them and esteemed educational institutions and professionals.
Instructors: Create and publish courses, including video lectures, assessments, and resources They also interact with learners through forums and Q&A sessions
Learners: Search for courses, enroll in desired programs, complete coursework, and earn certificates or degrees upon completion
Instructors: Upload course materials, manage learner assessments, and provide certification
Learners: Browse and search for courses, view instructor information, participate in discussions, and track progress through personalized dashboards
Offers diverse, high-quality courses created by top institutions
Flexible learning options, including free courses and affordable certifications
User-friendly interface and interactive features enhance the learning experience
Some certifications and degree programs are expensive
Limited interactivity for learners in self-paced courses
Udemy is trusted by millions of users worldwide and features instructors who are industry professionals, educators, or experienced practitioners sharing their expertise
• Link: https://www.udemy.com
Udemy.com is a comprehensive online learning platform that offers a diverse range of courses aimed at personal and professional growth With categories like Development, Business, IT & Software, Design, and Marketing, Udemy serves as a marketplace that connects skilled instructors with learners eager to acquire new skills and knowledge.
Instructors: Create and publish courses, including video lectures, quizzes, and supplementary resources
Learners: Browse the platform, enroll in courses, and complete lessons at their own pace
Instructors: Upload and manage course materials, set pricing for courses, and interact with learners via Q&A sections
Learners: Search for courses, view instructor ratings and reviews, access course content on-demand, and earn certificates of completion
Affordable course prices, frequent discounts, and lifetime access to purchased courses
Broad variety of subjects, catering to different interests and skill levels
User-friendly interface with mobile accessibility
Quality varies between courses due to the open marketplace model
Limited interaction with instructors compared to traditional learning
3.3 edX edX is trusted globally for its commitment to providing accessible, high-quality education, offering certificates and even fully accredited online degrees
• Link: https://www.edx.org
edX.org is a premier online learning platform that provides an extensive array of courses, programs, and degrees from renowned universities and institutions globally, including MIT, Harvard, and Berkeley With a strong emphasis on high-quality education, edX covers diverse fields such as Data Science, Business, Computer Science, and Engineering By connecting learners with prestigious educational institutions, edX offers flexible learning opportunities accessible to everyone.
Instructors: Represent universities or institutions, design and deliver courses, and manage assessments and discussions
Learners: Enroll in courses to gain knowledge, complete assignments, and earn certificates or degrees
Instructors: Publish and manage course content, grade assignments, and provide feedback
Learners: Search for courses, participate in discussions, complete assignments and exams, and access course materials at their convenience
Courses from renowned universities and institutions
Opportunity to earn professional certificates and degrees
High-quality content with structured curricula and assessments
Costs for certificates and degrees can be high
Limited interactivity with instructors due to the online format.
Business Opportunity
EduHub is an innovative online learning platform that bridges the gap between learners and educators, providing a diverse range of courses tailored to various goals, from career advancement to exploring new interests In a rapidly changing world, EduHub prioritizes making education both accessible and relevant for all individuals.
The e-learning market is expanding quickly due to increased internet access, technological advancements, and the popularity of hybrid and remote learning Platforms such as Coursera, edX, and Udemy have demonstrated the effectiveness of online education EduHub capitalizes on this growth by introducing its distinctive approach to online learning.
EduHub revolutionizes learning by offering a flexible and affordable alternative to traditional education systems, enabling learners to study at their own pace without the constraints of rigid schedules Additionally, it fills critical gaps often neglected by other platforms by providing interactive content and focusing on specialized skill development.
EduHub distinguishes itself by prioritizing practical needs over traditional university partnerships and certifications The platform offers valuable resources tailored for underrepresented groups, along with localized content and advanced tools such as AI-driven assessments This approach creates an engaging, hands-on experience that is genuinely beneficial for users.
EduHub aims to make education universally accessible, enabling learners to study anytime and anywhere while building global connections The focus extends beyond mere knowledge acquisition; it seeks to create a brighter future for learners worldwide.
Software Product Vision
IS-EduHub revolutionizes online education by offering an easy-to-use platform that connects students, teachers, and schools, aiming to reduce stress in the learning process This innovative approach helps individuals achieve their goals, whether for professional development or personal enrichment.
IS-EduHub offers a diverse range of courses and programs across various fields, including Technology, Business, Arts, and Sciences The platform incorporates advanced AI technology to enhance quizzes and tests, aiming to create a more engaging and effective learning experience Ultimately, IS-EduHub is dedicated to making education accessible and enjoyable for everyone.
There are 3 actors in total in IS-EduHub:
• Administrator, or Admin for short
Create, view, update, and delete courses
Create, view, update, and delete modules of a course
Create, view, and delete items of a module
Create, view, and delete assignments of a course
View all submissions and grades of an assignment of a course
Auto grade assignments in a course (using AI)
Create, view, and delete exams in a course
Do the exams of a course (using AI)
View all submissions and grading of an exam in a course
Grade exam submissions in a course
Auto grade exams in a course
Create, view, and delete announcements in a course
Create, view, and delete discussions
Create, view, delete, like, bookmark, follow, and comment on articles
View and update admin’s profile
Create, view, update, and delete modules of a course
Create, view, and delete items of a module
Create, view, and delete assignments of a course
View all submissions and grades of an assignment of a course
Auto grade assignments in a course (using AI)
Create, view, and delete exams in a course
Do the exams of a course (using AI)
View all submissions and grading of an exam in a course
Grade exam submissions in a course
Auto grade exams in a course
Create, view, and delete announcements in a course
Create, view, and delete discussions
Create, view, delete, like, bookmark, follow, and comment on articles
View items in a module in a course
View, do, and submit assignments in a course
View, do, and submit exams in a course
Create, view, and delete discussions
View, create, like, bookmark, follow, and comment on articles
Delete articles created by learners
View and update learner’s profile
Project Management Plan
Quality Management Approach
By implementing structured practices such as code reviews, adherence to coding conventions, and comprehensive testing, high standards can be maintained throughout the development process
As the sole developer, it's crucial to conduct regular code reviews to spot potential errors, uphold best practices, and ensure high code quality Self-reviewing entails critically examining your own code and utilizing tools such as linters and static code analyzers to improve accuracy and maintainability.
Adhering to standardized coding conventions fosters consistency, readability, and maintainability in projects This project implemented conventions like camelCase for variable and function names, which improve code clarity and facilitate easier debugging and future modifications (Pressman & Maxim, 2020).
Unit testing is essential for validating individual software components, ensuring each function performs correctly By writing and executing unit tests throughout the development process, developers can identify and address issues early, significantly minimizing potential errors in later stages of the project (Beck, 2003).
Integration testing was performed to assess the interactions among various modules, ensuring their cohesive operation This phase was essential for verifying the functionality of integrated components and identifying any interface-related problems (Fewster & Graham, 1999).
Project Deliverables
No Item Due Date Notes (If any)
Including project plan document, use case specifications, software design description, etc
Software Requirements Specification
Product Overview
EduHub is a versatile online learning platform designed for administrators and instructors to create and manage engaging educational courses It offers essential tools for course development, including course structure design, content uploading, and assignment deadlines The platform enhances the learning experience by facilitating discussions, instructor interactions via forums, and peer collaboration on group projects Additionally, EduHub features automated grading and progress tracking, enabling instructors to monitor student performance and generate insightful reports on course effectiveness With its user-friendly interface, learners can easily access course materials, submit assignments, engage in discussions, and track their learning journey.
User Requirements
1 Admin Responsible for managing the system They can manage courses, course modules, module items, assignments, grading, and more
The admin selects a student account to serve as the course instructor, who has the ability to create, view, update, and delete modules, assignments, and exams, but cannot create new courses The instructor's permissions are limited to the specific course assigned by the admin.
3 Learner Can take courses, do assignments, discuss with lecturers and other learners, and do other activities
2.2 Use Cases a Use Case Diagram
ID Use Case Actors Description
UC01 Create a course Admin Admin creates a course
UC02 View a course Admin, Instructor,
Learner Web users can view a course of interest
UC03 Update a course Admin, Instructor
Web users can update general information of a course such as course name, course description, background color, and course image
UC04 Delete a course Admin Admin can delete a course
UC05 Create a module of a course Admin, Instructor Users can create a new module in a course
UC06 View a module Admin, Instructor,
Learner Users can view a module in a course
UC07 Update a module Admin, Instructor Users can change the name of a module UC08 Delete a module Admin, Instructor Users can delete a module in a course
UC09 Create an item in a module Admin, Instructor Users can add a new item (video or file) to an existing module
UC10 View an item in a module
Users can view detail an item (video or file) of a module in a course
UC11 Delete an item in a module Admin, Instructor Users can delete an existing item in a module of a course
Create an assignment of a course
Admin, Instructor Users can create an assignment in an existing course
View a list of assignments of a course
Users can view a list of assignments in a course
Delete an assignment of a course
Admin, Instructor Users can delete an existing assignment in a course
UC15 Do an assignment in a course
Users can do an existing assignment in a course
View all submissions of an assignment in a course
Admin, Instructor Users can view all submissions of an existing assignment in a course
Grade an assignment in a course
Admin, Instructor Users can grade a learner’s assignment in a course
Auto grade an assignment in a course
Admin, Instructor Users can auto grade a learner’s assignment in a course
UC19 Create an exam in a course Admin, Instructor Users can create an exam in an existing course
UC20 View list of exams in a course
Users can view a list of exams in an existing course
UC21 Delete an exam in a course Admin, Instructor Users can delete an existing exam in a course
UC22 Do an exam in a course
Admin, Instructor, Learner Users can do an existing exam in a course
View all submissions of an exam
Admin, Instructor Users can view all the submissions of an existing exam
UC24 Grade an exam in a course Admin, Instructor Users can grade exams submitted by the learners in a course
UC25 Auto grade an exam in a course Admin, Instructor Users can auto grade exams submitted by the learners in a course
UC26 View gradebook Admin, Instructor,
Users can view the grades of all assignments and exams that they did in a course
In the course management system, administrators and instructors have the ability to view all participants enrolled in a current course (UC27) Additionally, administrators can assign a student account to take on the role of an instructor for the course, enhancing the learning experience (UC28).
UC29 Create an announcement Admin, Instructor Users can create an announcement in an existing course
Users can view all announcements in a course
UC31 Delete an announcement Admin, Instructor Users can delete an existing announcement in a course
UC32 Archive a course Admin, Instructor
Users can end a course to archive it All the grades of the course will be saved to achievement tab
UC33 View calendar Admin, Instructor,
Users can view all the past and coming deadlines, including assignments and exams, in the calendar tab
UC34 Create an article Admin, Instructor,
Learner Users can create an article in the article tab
UC35 View all articles Admin, Instructor,
Users can view the list of all articles in EduHub
UC36 View an article Admin, Instructor,
Learner Users can view a specific article
UC37 Delete an article Admin, Instructor,
Users can delete only their own articles and not those created by other
UC38 Like an article Admin, Instructor,
Learner Users can like any article
UC39 Unlike an article Admin, Instructor,
Users can unlike an article they previously liked
Admin, Instructor, Learner Users can bookmark an article
Remove bookmark of an article
Users can remove bookmark of an article they previously bookmarked
UC42 Follow an article Admin, Instructor,
Learner Users can follow a specific article
Users can unfollow an article they previously followed
UC44 Comment on an article
Admin, Instructor, Learner Users can comment on an existing article
UC45 Delete a comment Admin, Instructor,
Users can delete an existing comment of their own and not those commented by others on an article
When the admin ends a course, all grades of the assignments and exams the users took will be saved in the achievement tab Users can only their results, not others
UC47 View a list of archived courses
Users can view all archived courses in the Archived tab
UC48 View the detail of an archived course
Users can view the detail of an archived course, from modules in a course, items in a module, view and take assignments and exams, etc
UC49 View current user’s profile
Users can view the detail of their own current profile such as name, username, email, phone number, profile picture, and their role They can’t see other accounts’ profiles
UC50 View notifications Admin, Instructor,
Users can view all notifications in the Notification tab
Users can clear all existing notifications in the Notification tab
UC52 View all enrolled courses
Users can view all courses that they enrolled in the Dashboard tab
UC53 View all available courses
Users can view all available courses created by the admin, including the ones they don’t enroll and the ones they already enrolled
Comment on an item in a module in a course
Users can comment on an item, i.e video or file, in a module in a course
UC55 Delete a comment in an item
Users can delete their existing comment on an item, i.e video or file, in a module in a course They can’t delete comments created by others
UC56 View the landing page
Admin, Instructor, Learner Users can view the landing page of EduHub UC57 Create a new Guests Guests can create a new account in EduHub
28 account Once created, the new account will be learner account by default
UC58 Log in Admin, Instructor,
Guests can login to EduHub with existing accounts
Software Design Description
Database Design
Use Case Realization Specification
Figure 3 - Create a new course sequence diagram
Figure 4 - Create a new module in a course sequence diagram
Figure 5 - Create a new assignment in a course sequence diagram
Figure 6 - Submit an assignment sequence diagram
2.5 View Deadlines In The Calendar
Figure 7 - View all deadlines in the calendar tab sequence diagram
Figure 8 - End a course sequence diagram
Figure 9 - Update user's profile sequence diagram
Use Case Activity Diagram Order
Figure 11 – Create A New Course Activity Diagram
Figure 12 – Create A New Module Activity Diagram
3.4 Create A New Assignment
3.5 Submit An Assignment
3.6 View Deadlines In The Calendar
Figure 13 - View Deadlines In The Calendar Activity Diagram
Figure 14 - End A Course Activity Diagram
3.8 Update Profile
Figure 15 - Update Profile Activity Diagram
Software Release
User Manual
Figure 16 - Create a new account in EduHub
Step 1: Fill in your full name
Step 3: Enter your email in correct form
Step 4: Enter your phone number
Step 6: Re-enter your password to confirm
Step 7 (Optional): Enter your code
Step 8: Click Sign Up to create a new learner account
Both admin account and regular user account use this login page to login to EduHub
To view all available courses, including the ones you already enrolled and not yet enroll, click, Courses
Figure 18 - View all available courses
Step 1: Navigate to tab Dashboard, and click a course of interest
Step 2: After selecting a course, you’ll be redirect to the detail page of the course
You must be the admin to create a course in EduHub
To create a course, follow these following steps:
Step 1: From Dashboard, click “Add Course”
Step 2: Type the name of the course
Figure 22 - Create a course - Type course name
Step 3 (Optional): Type the description of the course
Figure 23 - Create a course - Type course description
Step 4 (Optional): Type the URL of the picture This picture will be the cover picture of the course on the Dashboard and “All Course” tabs
Figure 24 - Create a course - Type course cover image URL
When the course is created successfully, you can see it in the Dashboard and Courses tabs
To change a course’s general information such as course name, course description, or course background color, you must be the admin or the instructor of that course
To change a course’s information, please follow the steps below
Step 1: Choose a specific course of your interest
Step 2: Click the menu at the top
Figure 25 - The menu of a course
Step 4 (Optional): Change course name
Step 5 (Optional): Change course description
Step 6 (Optional): Change background color
Step 7 (Optional): Change course image
You must be the admin to delete a course
Step 1: From either tab Dashboard or Courses, click the 3 dots icon of a course
Figure 27 - Click the 3-dot icon of the course
Once deleted successfully, a notification will appear at the top of the screen
Figure 29 - Notification for deleting course successfully
1.8 Create A Module In The Course
You must be the admin or the course instructor to create a module in a course
Step 1: Navigate to a course you want to create a module in
Step 2: From the Module tab, click Add Module
Step 3: Type the module’s name
Figure 31 - Type the module's name
Once created successfully, the new module will be in the Modules tab
Figure 32 - New modules will be in the Modules tab
1.9 View All Modules In A Course
To view all modules in a course, select a course, then choose tab Modules
Figure 33 - List of all modules in a course
You must be the admin or the course instructor to add a video to a module
Step 1: Navigate to the tab Modules of the course of interest
Step 2: Under a module, click Add item
Figure 34 - Click Add item to add a video
Step 3: Under the video option, type video title
Step 4: Paste the URL of the video to the Video URL field
Once added successfully, you can see the video under the module tab
1.11 View An Item In A Module
Step 1: Navigate to the tab Modules of the desired course
Step 2: Under a module, choose 1 item of interest
Figure 38 - Choose an item of interest
Step 3: Once clicked, you’ll be redirected to the detail page of the item In this case, it’s the page displaying the video in the module
Figure 39 - View an item in a module
1.12 Delete An Item In A Module
You must be the course instructor or the admin to delete an item in a module
Step 1: Navigate to the Modules tab of the course
Step 2: Expand the list of items under the module name
Step 3: Click the bin icon to the right of the item you wish to delete
Figure 40 - Click the bin icon to delete an item
Once deleted successfully, the notification will appear on the top right of the screen
Figure 41 - Notification for deleting the item successfully
1.13 Create An Assignment In A Course
You must be the course instructor or the admin to create an assignment in a course
Step 1: Navigate to the Assignments tab of the course
Figure 42 - Navigate to Assignments tab and click Add Assignment
Step 3: Type the assignment name
Figure 43 - Type the assignment name
Step 4: Click Add Question to add questions
Figure 44 - Click Add Question button to add questions
Step 5: For the question type “Essay”, type the question name
Figure 45 - Type the question name for essay questions
Step 8: Click Add to save question
Step 10: Add course weight (should be greater than 0 and less than 1)
Once created successfully, the assignment will be displayed on the Assignments tab and a notification will be displayed on the top right of the screen
Future development
AI-Powered Auto-Grading System
The grading system will utilize advanced Natural Language Processing (NLP) models, including BERT (Bidirectional Encoder Representations from Transformers) and GPT-based algorithms, to effectively analyze and evaluate subjective answers This innovative approach enhances the accuracy and efficiency of grading by leveraging cutting-edge AI technology.
• Semantic understanding to assess coherence and relevance in student responses
• Automated feedback generation based on predefined rubrics
• Plagiarism detection using AI-driven similarity analysis tools like Turnitin AI or OpenAI embedding models to ensure originality
• For objective assessments, machine learning-based scoring models, such as decision trees and neural networks, will improve accuracy by learning from instructor-graded data.
Real-Time Collaboration Tools
• WebRTC-based live video conferencing for seamless virtual classrooms
• AI-powered discussion forums utilizing Latent Dirichlet Allocation (LDA) for topic clustering and content recommendations
• Collaborative document editing using Firebase Firestore and WebSockets for real-time synchronization and shared note-taking.
Gamification for Engagement
• Adaptive quizzes with Reinforcement Learning (RL) models, dynamically adjusting difficulty levels based on user performance
• Leaderboards and achievement badges powered by gamification engines like Unity Analytics or Open Badges Framework
• AI-driven personalized challenges using user behavior prediction models for tailored learning paths.
Offline Access and Security Enhancements
• Progressive Web Apps (PWA) for downloadable content access
• AI-driven content compression algorithms to optimize storage and streaming efficiency
To enhance security, multi-factor authentication (MFA) will be implemented using:
• Biometric authentication (fingerprint or facial recognition) via WebAuthn API
• Time-based One-Time Passwords (TOTP) using Google Authenticator or Authy
• Behavioral authentication based on keystroke dynamics and device fingerprinting
Brown, J., White, R., & Garcia, L (2022) The future of online education: Trends and technologies Educational Research Quarterly, 45(3), 34-50
Coursera (n.d.) Online learning platform Coursera https://www.coursera.org edX (n.d.) Online learning platform edX https://www.edx.org
Smith, K., & Lee, M (2023) Global learning platforms: Bridging the gap between education and employment Journal of Digital Learning, 18(2), 89-104
Statista (2024) E-learning market size worldwide from 2019 to 2026 Statista https://www.statista.com
TechCrunch (2023) The future of education: Trends driving the e-learning industry
TechCrunch https://www.techcrunch.com
Udemy (n.d.) Online learning platform Udemy https://www.udemy.com
Beck, K (2003) Test-driven development: By example Addison-Wesley
Fewster, M., & Graham, D (1999) Software test automation: Effective use of test execution tools Addison-Wesley
McConnell, S (2004) Code complete: A practical handbook of software construction (2nd ed.) Microsoft Press
Pressman, R S., & Maxim, B R (2020) Software engineering: A practitioner’s approach (9th ed.) McGraw Hill
SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom - Happiness
EXPLANATORY REPORT ON CHANGES/ADDITIONS BASED ON THE DECISION OF GRADUATION THESIS COMMITTEE
FOR UNDERGRADUATE PROGRAMS WITH DEGREE AWARDED BY
Student’s full name: PHAM GIA KHIEM
Graduation thesis topic: Developing a web application: eduhub – a platform for internal e-learning with video courses, assignments, and assessments
Major: Informatics and Computer Engineering
In accordance with VNU-IS decision no …… QĐ/TQT, dated … / … / …… regarding the establishment of the Graduation Thesis Committee for Bachelor programs at Vietnam National University, Hanoi, the thesis has been successfully defended and subsequently revised in the specified sections.
No Change/Addition Suggestions by the Committee Detailed Changes/ Additions Page
Exploring advanced AI features, expanding content diversity, and incorporating gamification elements for engagement
The next phase of EduHub Version 1.0 focuses on integrating advanced AI-driven functionalities to optimize the learning experience AI-powered auto-grading will leverage Natural Language Processing (NLP) to