Skip to content

adarsh6282/LearnAt---E-Learning-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Learn At - E-Learning Platform

Learn At is a modern e-learning application designed to provide a seamless learning experience for students and instructors. Users can browse and enroll in courses, interact with instructors via chat or video calls, and submit course reviews. Instructors can create and manage courses, host live video sessions, and communicate with students in real-time. Admins have full control over the platform, including user management, course oversight, and category management.

Built with the MERN stack (MongoDB, Express.js, React.js, Node.js), Learn At also includes features like Google authentication, role-based access, real-time chat, video call functionality, and responsive design for all devices.


Table of Contents


Features

User Features

  • Sign up and login (including Google OAuth)
  • Browse courses by instructors
  • Enroll in courses
  • Submit reviews and ratings
  • View related courses
  • Real-time chat with instructors
  • One-to-one and group video calls with instructors
  • View own dashboard with enrolled courses

Instructor Features

  • Create and manage courses
  • View student reviews
  • Manage course content
  • Real-time communication with students
  • Host live video sessions for students

Admin Features

  • Manage users and instructors
  • Ban/unban users
  • Manage categories and courses
  • View reviews and statistics

Other Features

  • Pagination for courses and reviews
  • Soft delete and recovery for categories/products
  • Responsive design using Bootstrap and Tailwind CSS
  • Security enhancements using Helmet and CORS

Tech Stack

  • Frontend: React.js, Tailwind CSS
  • Backend: Node.js, Express.js, Passport.js (Google OAuth)
  • Database: MongoDB with Mongoose
  • Authentication: JWT, Google OAuth 2.0
  • Real-time Features: Socket.io (chat & video calls)
  • Other Tools: Nodemailer, Postman for API testing

Getting Started

Prerequisites

  • Node.js >= 16.x
  • MongoDB (local or Atlas)
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/adarsh6282/LearnAt---E-Learning-Platform
cd LearnAt
  1. Install backend Dependencies
cd server
npm install

3.Install frontend Dependencies

cd client
npm install

4.Configure Environment Variables

PORT=5000
MONGO_URI=your_mongodb_connection_string
FRONTEND_URL=http://localhost:3000
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
JWT_SECRET=your_jwt_secret

5.Start the Application

i.Start backend server

cd server
npm start

ii.Start the frontend Server

cd client
npm run dev

About

LearnAt is a full-stack eLearning platform designed to provide a smooth and interactive online learning experience. It allows users to register, log in securely, browse courses, and access learning content in an organized way.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages