Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
e-learning-platform express mern-stack mongodb node-js react restful-api socket-io webrtc websocket
Last synced: 25 days 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
- Created: 2024-11-10T08:07:31.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-21T16:59:36.000Z (25 days ago)
- Last Synced: 2024-12-21T17:43:36.627Z (25 days ago)
- Topics: e-learning-platform, express, mern-stack, mongodb, node-js, react, restful-api, socket-io, webrtc, websocket
- Language: JavaScript
- Homepage: https://virtual-classroom-application.vercel.app
- Size: 16.4 MB
- Stars: 1
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fullstack Project
This project is a fullstack web application built with React (frontend) and Node.js (backend). The frontend is configured with Vite and is located in the `client` folder, while the backend server runs with Node.js and can be started with `npm run dev`.
## About the Project
Edumatrix is a virtual classroom platform designed to provide a seamless and interactive learning experience. Built with the MERN stack, it integrates real-time communication features using Socket.IO and WebRTC to enable live classes, video conferencing, and collaborative tools such as a shared whiteboard and chat.
### Goals
1. **Enhance Online Education**: Provide a platform that bridges the gap between traditional classrooms and virtual learning, ensuring a rich and interactive experience for students and educators alike.
2. **Accessibility**: Make education accessible to users across the globe by offering a reliable and user-friendly platform.
3. **Real-Time Interaction**: Facilitate effective communication and collaboration between teachers and students through video conferencing, chat, and interactive tools.
4. **Scalability**: Build a system that can scale to support large numbers of concurrent users without compromising performance.
5. **Customization**: Allow institutions and educators to tailor the platform to their specific needs.## Table of Contents
- [Features](#features)
- [Project Structure](#project-structure)
- [Setup Instructions](#setup-instructions)
- [Contributing](#contributing)## Features
- **Frontend**: Built with React, configured with Vite for faster build and optimized development experience.
- **Backend**: Powered by Node.js with an API server.
- **Real-Time Communication**: Supports live video conferencing and chat using WebRTC and Socket.IO.
- **Interactive Tools**: Includes a shared whiteboard for collaboration during classes.
- **Secure Authentication**: Implements secure login and user management.
- **Responsive Design**: Ensures usability across devices, including desktops, tablets, and smartphones.
- **Fullstack Integration**: Frontend and backend connected seamlessly for efficient data handling.## Project Structure
```
root
├── client # Frontend (React with Vite)
└── server # Backend (Node.js with Express)
```## Setup Instructions
### Prerequisites
- **Node.js** and **npm** installed on your machine.
### 1. Clone the Repository
```bash
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
```### 2. Install Dependencies
Navigate to both the client and server folders to install the necessary dependencies.
#### Frontend
```bash
cd client
npm install
```#### Backend
```bash
cd ../server
npm install
```### 3. Configure Environment Variables
Create a `.env` file in the `server` directory and add any required environment variables, such as database connection strings, API keys, and other configurations.
### 4. Start the Application
#### Backend Server
To start the backend server, run the following command from the `server` folder:
```bash
npm run dev
```This will start the backend server in development mode.
#### Frontend Server
To start the frontend server, run the following command from the `client` folder:
```bash
npm run dev
```### 5. Access the Application
Once both the frontend and backend servers are running, you can access the application at `http://localhost:5173` by default.
## Contributing
We welcome contributions! To contribute, please follow these steps:
1. **Fork the repository** and create your branch:
```bash
git checkout -b feature/YourFeature
```2. **Make your changes** and commit them with a meaningful message:
```bash
git commit -m "Add YourFeature"
```3. **Push to your fork** and submit a pull request:
```bash
git push origin feature/YourFeature
```4. **Submit a pull request** from your forked repository to the main repository's `main` branch. Our team will review your pull request and suggest any necessary changes.
### Development Guidelines
- Ensure code consistency and readability.
- Write meaningful commit messages.
- Test your changes before submitting a pull request.---