Report on
E-Learning Platform (Udemy Clone)
For
2CS201CC23
FULL STACK WEB DEVELOPMENT
B. Tech. Semester IV
Manan Solanki - 23BCE329
Harshil Zalavadya - 23BCE385
School of Engineering
Institute of Technology
Nirma University
Ahmedabad 382481
Application of Project :
The Udemy Clone is an online learning platform that allows users to enroll
in courses, view video lectures, and manage their learning progress. It
provides functionalities similar to Udemy, enabling both instructors and
students to interact within an e-learning environment.
Frontend Features:
● User Interface
- Home
- Browse Courses
- Course Details
- Enroll / Login / Signup
- Dashboard
- Video Player
- Reviews & Ratings
- Profile Management
● Admin Panel
- Manage Courses
- User Management
- Reviews & Feedback Moderation
Backend :
● Database : MongoDB
● Authentication : Firebase Authentication / JWT
● Cloud Storage : Firebase / AWS S3
● Payment Integration : Stripe / Razorpay
Technology Stack :
● Frontend : [Link], Tailwind CSS
● Backend : [Link], [Link]
● Database : MongoDB
● Authentication : Firebase / JWT
● Payment Gateway : Stripe / Razorpay
● Video Streaming : AWS S3 / Firebase Storage
Frontend :
#HOME
#PopperCard
#Product Page
#CartPage
#AuthPage
#CheckOut
Important Code Parts -
Database Connection
const mongoose = require('mongoose');
[Link]('mongodb://localhost:27017/udemy-clone', {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => [Link]("Database connected"))
.catch(err => [Link](err));
API Implementation (Example: Fetching Courses)
const express = require('express');
const router = [Link]();
const Course = require('../models/Course');
[Link]('/courses', async (req, res) => {
try {
const courses = await [Link]();
[Link](courses);
} catch (error) {
[Link](500).json({ error: [Link] });
}
});
Payment Integration (Stripe Example)
const stripe = require('stripe')('your-secret-key');
[Link]('/payment', async (req, res) => {
const { amount, token } = [Link];
try {
const charge = await [Link]({
amount,
currency: 'usd',
source: [Link],
description: 'Udemy Clone Course Purchase'
});
[Link](charge);
} catch (error) {
[Link](500).json({ error: [Link] });
}
});
Conclusion -
The Udemy Clone project focuses on developing an interactive e-learning platform that allows
students to access courses and instructors to manage content effectively. This project integrates key
functionalities like user authentication, payment processing, and video streaming, giving hands-on
experience in full-stack development. It enhances the understanding of web development using
[Link], [Link], [Link], MongoDB, and third-party services like Stripe and Firebase. This project
provides a real-world scenario of managing an online learning ecosystem efficiently.