https://github.com/yours7himanshu/edumatrix-virtual-classroom
Edumatrix is a state-of-the-art virtual classroom platform designed to revolutionize online education. Built with a user-friendly interface and robust features, Edumatrix empowers educators and students by providing seamless tools for interactive learning.Admin Server is running on this url - https://virtual-classroom-admin.vercel.app/
https://github.com/yours7himanshu/edumatrix-virtual-classroom
collaborate contributions-welcome e-learning-platform express mern-stack mongodb node-js react restful-api socket-io student-vscode webrtc websocket
Last synced: about 1 year ago
JSON representation
Edumatrix is a state-of-the-art virtual classroom platform designed to revolutionize online education. Built with a user-friendly interface and robust features, Edumatrix empowers educators and students by providing seamless tools for interactive learning.Admin Server is running on this url - https://virtual-classroom-admin.vercel.app/
- Host: GitHub
- URL: https://github.com/yours7himanshu/edumatrix-virtual-classroom
- Owner: yours7himanshu
- License: apache-2.0
- Created: 2024-11-10T08:07:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-09T17:54:49.000Z (about 1 year ago)
- Last Synced: 2025-04-09T18:51:29.958Z (about 1 year ago)
- Topics: collaborate, contributions-welcome, e-learning-platform, express, mern-stack, mongodb, node-js, react, restful-api, socket-io, student-vscode, webrtc, websocket
- Language: JavaScript
- Homepage: https://virtual-classroom-application.vercel.app
- Size: 96.8 MB
- Stars: 10
- Watchers: 1
- Forks: 9
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# π **EduMatrix Virtual Classroom** β _Making Virtual College for Everyone_
**Main Aim: To make all colleges run virtually and make learning accessible to everyone, anywhere!** π
EduMatrix is a **full-stack web application** designed to revolutionize online education by providing a seamless and interactive virtual classroom experience. Built using the **MERN stack** (MongoDB, Express, React, Node.js), the platform incorporates **real-time communication features** to support live classes, video conferencing, and collaborative tools like a shared whiteboard and chat.

---
## π **About the Project**
The **EduMatrix Virtual Classroom** platform offers a comprehensive solution for institutions and educators to conduct classes online with minimal setup. The system provides **real-time video conferencing**, **chat**, and **interactive whiteboards** to bridge the gap between traditional classrooms and virtual learning.
---
## π― **Goals**
1. **Enhance Online Education**: Create an engaging virtual learning environment for students and educators.
2. **Accessibility**: Make quality education available globally through a reliable, easy-to-use platform.
3. **Real-Time Interaction**: Support effective communication with tools like video conferencing and chat.
4. **Scalability**: Build a system that can handle a large number of concurrent users.
5. **Customization**: Allow educators to personalize the platform to suit their specific needs.
---
## π **Table of Contents**
- [Features](#features)
- [Project Structure](#project-structure)
- [Setup Instructions](#setup-instructions)
- [Contributing](#contributing)
- [License](#license)
---
## β¨ **Features**
β
**Frontend**: Built with **React**, configured with **Vite** for faster builds and optimized development.
β
**Backend**: Powered by **Node.js** with **Express** API server.
β
**Admin Panel**: A dedicated admin interface to manage users, courses, and sessions.
β
**Real-Time Communication**: Supports **live video conferencing** and **chat** using **WebRTC** and **Socket.IO**.
β
**Interactive Tools**: Includes a **shared whiteboard** for collaborative learning during classes.
β
**Secure Authentication**: Implements **JWT-based login** and user management.
β
**Responsive Design**: Works seamlessly across devices β desktops, tablets, and smartphones.
---
## π **Project Structure**
```bash
root
βββ client # Frontend (React with Vite)
βββ server # Backend (Node.js with Express)
βββ admin # Admin Panel (React with Vite)
```
### **Directory Overview**
- **client**: Contains the user-facing frontend interface.
- **server**: Handles the backend API logic, authentication, and database interactions.
- **admin**: A dedicated panel for administrators to manage users, courses, and other platform settings.
---
## π **Setup Instructions**
### π **Prerequisites**
Ensure you have the following installed on your machine:
- **Node.js** (v20.9.0 or later)
- **npm** or **yarn**
---
### π₯ **1. Clone the Repository**
```bash
git clone https://github.com/your-username/edumatrix-virtual-classroom.git
cd edumatrix-virtual-classroom
```
---
### π¦ **2. Install Dependencies**
Navigate to the respective folders and run the following commands:
#### Frontend (Client)
```bash
cd client
npm install
```
#### Backend (Server)
```bash
cd ../server
npm install
```
#### Admin Panel
```bash
cd ../admin
npm install
```
---
### π **3. Configure Environment Variables**
Create a `.env` file in the `server` and `admin` directories with the required environment variables.
Example `.env` file for the server:
```env
MONGO_URI=your_mongo_db_uri
JWT_SECRET=your_jwt_secret
FRONTEND_URL=http://localhost:5173
ADMIN_URL=http://localhost:5174
```
---
### βΆοΈ **4. Start the Application**
#### Backend Server
From the `server` folder:
```bash
npm run dev
```
#### Frontend Server (Client)
From the `client` folder:
```bash
npm run dev
```
#### Admin Panel
From the `admin` folder:
```bash
npm run dev
```
---
### π **5. Access the Application**
- **Frontend (User)**: [http://localhost:5173](http://localhost:5173)
- **Admin Panel**: [http://localhost:5174](http://localhost:5174)
---
## π€ **Contributing**
We welcome contributions to improve EduMatrix! π οΈ
### Steps to Contribute
1. **Fork the repository** and clone it to your local machine.
2. **Create a new branch** for your feature or bug fix:
```bash
git checkout -b feature/new-feature
```
3. **Commit your changes** with a clear message:
```bash
git commit -m "Added a new feature for admin management"
```
4. **Push to your fork** and open a **pull request**:
```bash
git push origin feature/new-feature
```
---
## π‘ **Development Guidelines**
- Ensure **code consistency** using **ESLint** and **Prettier**.
- Write **clear and concise commit messages**.
- **Test your changes** before submitting a pull request.
---
## π **License**
This project is licensed under the **Apache License 2.0**. See the [LICENSE](LICENSE) file for more details.
---
## π **Letβs Make Virtual Learning Accessible for All!**
Thank you for contributing to EduMatrix Virtual Classroom! Together, we can revolutionize the way education is delivered. π
---