Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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/

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.

---