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.
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.
- 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.
β
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.
root
βββ client # Frontend (React with Vite)
βββ server # Backend (Node.js with Express)
βββ admin # Admin Panel (React with Vite)
- 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.
Ensure you have the following installed on your machine:
- Node.js (v20.9.0 or later)
- npm or yarn
git clone https://github.com/your-username/edumatrix-virtual-classroom.git
cd edumatrix-virtual-classroom
Navigate to the respective folders and run the following commands:
cd client
npm install
cd ../server
npm install
cd ../admin
npm install
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
From the server
folder:
npm run dev
From the client
folder:
npm run dev
From the admin
folder:
npm run dev
- Frontend (User): http://localhost:5173
- Admin Panel: http://localhost:5174
We welcome contributions to improve EduMatrix! π οΈ
- 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
- Ensure code consistency using ESLint and Prettier.
- Write clear and concise commit messages.
- Test your changes before submitting a pull request.
This project is licensed under the Apache License 2.0. See the LICENSE file for more details.
Thank you for contributing to EduMatrix Virtual Classroom! Together, we can revolutionize the way education is delivered. π