An open API service indexing awesome lists of open source software.

https://github.com/prakharagarwal135/eduquest

A MERN-stack EdTech platform . This project allows users to create, consume, and rate educational content. It includes features such as user authentication, content management, and payment integration, providing a seamless learning experience.
https://github.com/prakharagarwal135/eduquest

edtech expressjs jwt mern-stack mongodb nodejs postman razorpay reactjs tailwindcss

Last synced: 3 months ago
JSON representation

A MERN-stack EdTech platform . This project allows users to create, consume, and rate educational content. It includes features such as user authentication, content management, and payment integration, providing a seamless learning experience.

Awesome Lists containing this project

README

          


EduQuest (Major Project)


A Fully Functional EdTech Platform Empowering Users to LEARN, CREATE, EXPLORE and RATE educational content


Built with the MERN stack (MongoDB, ExpressJS, ReactJS, NodeJS), this platform aims to provide:

- A seamless and interactive learning experience for students, making education more accessible and engaging.
- Empower instructors to showcase their expertise and connect with learners across the globe.

---

Deployment:

- 🚀 **Live Demo**: Check out the live version of EduQuest here

---

EduQuest Features:

- 🔑 **User Authentication and Authorisation**: Students and Instructors can easily sign up and log in using their email and password. The platform also supports OTP verification and forgot password features for enhanced security.

- 📚 **Course Management**: Instructors can create, update, delete, and manage their courses and content. Students can browse, enrol, and rate courses.

- 💳 **Payment Integration**: Students can purchase and enrol in courses with a seamless checkout flow using Razorpay for secure payment processing.

- 📷 **Cloud-based Media Management**: EduQuest uses Cloudinary to securely store and manage all media content (images, videos, documents) for easy access and management.

---

Technologies Used:

### Frontend:
- **ReactJS**: JavaScript library for building user interfaces.
- **Tailwind CSS**: Utility-first CSS framework for custom designs.
- **Axios**: Promise-based HTTP client for making API requests.
- **Swiper**: Modern slider.
- **React Hot Toast**: For notifications in React applications.

### Backend:
- **Node.js**: JavaScript runtime for back-end development.
- **Express.js**: Minimal and flexible Node.js web application framework.
- **Mongoose**: Creates a connection between MongoDB and the Node.js (ODM).
- **JWT**: JSON Web Token for secure user authentication.

### Database:
- **MongoDB**: NoSQL database for for flexible data storage.
- **MongoDB Atlas**: Cloud-hosted version of MongoDB for managing the database.

### Others:
- **Razorpay**: Payment gateway for accepting payments.
- **Cloudinary**: Cloud-based image hosting and management for campground images.
- **Nodemailer**: Module for sending emails (e.g., for password resets or notifications).
- **Render**: Cloud platform for deploying the app's backend.
- **Vercel**: Cloud platform for deploying the app's frontend.

---

Frontend Pages:

### For Students:
- **Homepage**: This page has a brief introduction to the platform.

- **Catalog**: Display a list of courses for a selected category, course previews, ratings, and sorting options for easy browsing and enrollment.

- **Course Content**: Presents the course content for a particular course, including videos and related material.

- **Cart Checkout**: Display a summary of the selected courses, their prices, and any applied discounts or promotions.

- **Razorpay Payment Page**: This page will handle the payment process, where students can securely enter payment details and complete the transaction.

- **Enrolled Courses**: Display a list of courses the user has enrolled in, with access to course content and progress tracking.

- **Ratings and Reviews Page**: Allows students to provide feedback on enrolled courses.

- **Profile**: This page will have details about the student's account, including their name, email, and other relevant information.

- **Settings**: This page will allow the students to edit their account details, update the password and delete the account.

### For Instructors:
- **Course Creation Pages**: Allow instructors to add course details, upload content, set pricing, and publish the course for student enrollment.

- **My Courses**: Displays a list of their created courses, along with options to view, edit, or delete each course, track enrollments, and manage course content.

- **Profile**: This page will have details about the instructor's account, including their name, email, and other relevant information.

- **Settings**: This page will allow the instructors to edit their account details, update the password and delete the account.

---

Screenshots:

### 1) Home Page

![Home Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/home%20pg.png)

### 2) Contact Page

![Contact Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/contact%20us.png)

### 3) Signup Page

![Signup Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/signup%20final.png)

### 4) Catalog Page

![Catalog Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/catalog%20page.png)

### 5) Viewing a Course Page

![Course Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/course%20page.png)

### 6) Profile Page (for both instructor and student)

![Profile Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/my%20profile.png)

### 7) Settings Page (for both instructor and student)

![Settings Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/settings.png)

### 8) Add Course Page (instructor dashboard)

![Add course Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/add%20course%20cc.png)

### 9) Add Lecture Page (instructor dashboard)

![Add lecture Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/add%20course%203.png)

### 10) My Courses Page (instructor dashboard)

![My courses Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/my%20courses.png)

### 11) Cart Page (student dashboard)

![Cart Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/cart%20page.png)

### 12) Enrolled Courses Page (student dashboard)

![Enrolled Courses Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/enrolled%20courses.png)

### 13) Learning Environment Page (student dashboard)

![Learning Environment Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/view%20course%20pg.png)

### 14) Add review Page (student dashboard)

![Add review Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/add%20review.png)

### 15) Razorpay Payment Page

![Razorpay Payment Page](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/rzpay%20payment%20cc.png)

### 16) Mail Templates

![Mail Templates](https://github.com/PrakharAgarwal135/EduQuest/blob/main/src/assets/readmeSS/mail%20template%20cc.png)