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.
- Features
- Tech Stack
- Getting Started
- Project Structure
- API Routes
- Screenshots
- Future Enhancements
- License
- 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
- Create and manage courses
- View student reviews
- Manage course content
- Real-time communication with students
- Host live video sessions for students
- Manage users and instructors
- Ban/unban users
- Manage categories and courses
- View reviews and statistics
- 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
- 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
- Node.js >= 16.x
- MongoDB (local or Atlas)
- npm or yarn
- Clone the repository
git clone https://github.com/adarsh6282/LearnAt---E-Learning-Platform
cd LearnAt- Install backend Dependencies
cd server
npm install3.Install frontend Dependencies
cd client
npm install4.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_secret5.Start the Application
i.Start backend server
cd server
npm startii.Start the frontend Server
cd client
npm run dev