This project is an e-learning platform that provides an interactive and user-friendly way to access educational content. It integrates the YouTube API to fetch and display video courses while utilizing MongoDB as the backend for data storage.
- User Authentication: Secure login and registration system.
- Video Courses: Fetch and display educational videos using the YouTube API.
- User Dashboard: Personalized dashboard for users to track their learning progress.
- Community Forum: Users can discuss topics and share insights.
- Responsive UI: Designed with Bootstrap for a seamless experience across devices.
The platform is live and accessible at:
👉 https://e-learning-platform-jtmk.onrender.com
- Frontend: HTML, CSS (Bootstrap), JavaScript
- Backend: Node.js, Express.js
- Database: MongoDB
- API Integration: YouTube API
Ensure you have the following installed:
- Node.js
- MongoDB
- Clone the repository:
git clone https://github.com/natekark/e-learning-platform.git cd e-learning-platform - Install dependencies:
npm install
- Set up environment variables:
- Create a
.envfile in the root directory. - Add the following:
MONGO_URI=your_mongodb_connection_string YOUTUBE_API_KEY=your_youtube_api_key SESSION_SECRET=your_session_secret_key PORT=3000
- Create a
- Start the server:
npm start
- Open your browser and navigate to:
http://localhost:3000
- Sign Up/Login to access the platform.
- Browse through available courses.
- Watch video lessons and track progress.
- Participate in discussions within the community forum.

Homepage of the E-Learning Platform
- Add quizzes and assessments for courses.
- Implement a payment gateway for premium courses.
- Enhance the community forum with upvoting and tagging features.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Commit changes and push:
git commit -m "Add new feature" git push origin feature-name - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
- YouTube API for providing video content.
- Bootstrap for the responsive UI design.
- Render for hosting the platform.
For any queries or suggestions, feel free to reach out via GitHub Issues.