The purpose of this project is to create a WebApp similar to Udemy where users can purchase courses and instructors can create and publish courses. The WebApp will have features such as a login system, course listing page, course details page, payment gateway, and instructor dashboard. The WebApp will be developed using Bootstrap, AJAX, PHP, and MySQL.
The following technologies will be used in the development of this WebApp: • Bootstrap for front-end design and layout. • AJAX for asynchronous communication between the client-side and server-side. • PHP for server-side scripting and business logic implementation. • MySQL for the database management system.
The architecture of the WebApp will be based on the Model-View-Controller (MVC) design pattern. The application will be divided into three layers: • Model: This layer will contain the business logic and data access layer of the application. • View: This layer will contain the front-end design and user interface of the application. • Controller: This layer will contain the logic for controlling the flow of the application.
The following database schema will be used for the WebApp:
- Users: This table will contain the details of the registered users.
- Courses: This table will contain the details of the available courses.
- Enrollments: This table will contain the details of the courses that users have enrolled in.
- Payments: This table will contain the details of the payments made by users for purchasing the courses.
- Videos: This table will contain the details of the videos uploaded by instructors for their courses.
- Course Progress Table: This table will contain the details of the course progress of the users.
The following pages will be developed for the WebApp along with their respective wireframes: • Home Page: This page will contain the details of the WebApp and the available courses. • Login Page: This page will be used for the users to login to their account. • Registration Page: This page will be used for new users to register their account. • Profile Page: This page will contain the user profile details. • Course Listing Page: This page will contain the list of available courses for the users to purchase. • Course Details Page: This page will contain the details of the selected course along with the price and payment options. • Payment Page: This page will be used for the users to make payment for the selected course. • Course View Page: This page will be used to view the courses. • My Learning Page: This page will contain the list of courses that the user has enrolled in and their progress. • Course Creation Page: This page will be used by instructors to create and publish new courses. • Instructor Dashboard: This page will contain the details of the instructor's courses and course analytics.
The following front-end milestones will be achieved during the development of the WebApp: • Home Page: Design and development. • Login Page: Design and development. • Registration Page: Design and development. • Profile Page: Design and development. • Course Listing Page: Design and development. • Course Details Page: Design and development. • Payment Page: Design and development. • Course View Page: Design and development. • My Learning Page: Design and development. • Course Creation Page: Design and development. • Instructor Dashboard Page: Design and development.
The following back-end milestones will be achieved during the development of the WebApp: • User Authentication: Implementation of login and registration functionality. • Course Management: Implementation of course creation and publishing functionality for instructors. • Payment Gateway Integration: Integration of payment gateway for processing user payments. • Video Management: Implementation of video upload and streaming functionality. • Enrollments Management: Implementation of course enrollment and progress tracking functionality. • Dynamic Course Creation: Implementation of dynamic course creation by the Instructor
In conclusion, this project aims to develop a WebApp similar to Udemy where users can purchase courses and instructors can create and publish courses. The WebApp will be developed using Bootstrap, AJAX, PHP, MySQL and Payment Gateway.