EduMatrix-Virtual-Classroom
EduMatrix-Virtual-Classroom copied to clipboard
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 studen...
π 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
- Enhance Online Education: Create an engaging virtual learning environment for students and educators.
- Accessibility: Make quality education available globally through a reliable, easy-to-use platform.
- Real-Time Interaction: Support effective communication with tools like video conferencing and chat.
- Scalability: Build a system that can handle a large number of concurrent users.
- Customization: Allow educators to personalize the platform to suit their specific needs.
π Table of Contents
- Features
- Project Structure
- Setup Instructions
- Contributing
- 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
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
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)
cd client
npm install
Backend (Server)
cd ../server
npm install
Admin Panel
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:
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:
npm run dev
Frontend Server (Client)
From the client folder:
npm run dev
Admin Panel
From the admin folder:
npm run dev
π 5. Access the Application
- Frontend (User): http://localhost:5173
- Admin Panel: http://localhost:5174
π€ Contributing
We welcome contributions to improve EduMatrix! π οΈ
Steps to Contribute
- Fork the repository and clone it to your local machine.
- Create a new branch for your feature or bug fix:
git checkout -b feature/new-feature - Commit your changes with a clear message:
git commit -m "Added a new feature for admin management" - Push to your fork and open a pull request:
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 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. π