Skip to content

Nupurshivani/MindMesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MindMesh

MindMesh Logo

Collaborative Study Platform

Features Tech Stack Status License

MindMesh is a comprehensive real-time collaborative study platform designed for students who want to study together remotely. It provides an integrated environment combining video conferencing, collaborative tools, and study management features in one seamless experience.

---

📋 Table of Contents


✨ Features

👥 Group Collaboration 📚 Study Sessions 🔄 Tool Integration
• Study group management
• Member role management
• Private sessions
• Video conferencing
• Interactive whiteboard
• Rich text notes
• Collaborative code editor
• Seamless tool switching
• Session persistence
• Resource sharing
📊 Analytics 💰 Subscription Plans 🔐 Admin Features
• Study time tracking
• Time period analysis
• Progress visualization
• Free & premium tiers
• Razorpay integration
• Plan management
• User management
• Group oversight
• Content moderation
• Session control

🛠️ Tech Stack

Frontend Backend Database DevOps
• Next.js 15 (App Router)
• Tailwind CSS
• React Context API
• Socket.IO client
• WebRTC / Simple-Peer
• Fabric.js
• Monaco Editor
• TipTap
• Recharts
• Node.js
• Express.js
• RESTful API
• JWT Authentication
• Socket.IO
• Cloudinary
• Nodemailer
• Node-cron
• MongoDB
• Mongoose
• Redis Cache
• Docker
• Docker Compose
• GitHub Actions
• Winston logging

🏗 Architecture

MindMesh follows a modern microservices architecture:

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  Frontend   │────▶│   Backend   │────▶│  Database   │
│  (Next.js)  │     │  (Express)  │     │ (MongoDB)   │
└─────────────┘     └─────────────┘     └─────────────┘
       │                   │                   │
       │                   │                   │
       ▼                   ▼                   ▼
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  WebRTC     │     │  Socket.IO  │     │   Redis     │
│  (P2P)      │     │  (Real-time)│     │  (Cache)    │
└─────────────┘     └─────────────┘     └─────────────┘
  
  • Frontend: Next.js application with server-side rendering and client-side interactivity
  • Backend: Express.js REST API with Socket.IO for real-time communication
  • Database: MongoDB for data persistence with Redis for caching
  • Real-Time Communication: WebRTC for peer-to-peer video/audio and Socket.IO for signaling

🚀 Getting Started

Prerequisites

Node.js
v18+
MongoDB
Latest
Redis
Latest
Docker
Optional

Installation

Clone the repository

git clone https://github.com/Nupurshivani/MindMesh.git
cd MindMesh

Backend Setup

# Navigate to the backend directory
cd backend

# Install dependencies
npm install

# Start the development server
npm run dev

Frontend Setup

# Navigate to the frontend directory
cd frontend

# Install dependencies
npm install

# Start the development server
npm run dev

Environment Setup

  1. Copy the example environment file
cp backend/.env.example backend/.env
  1. Update the environment variables with your configuration:
    • MongoDB connection string
    • JWT secrets
    • Email credentials
    • Cloudinary keys
    • Redis configuration
    • Google OAuth credentials (if using)

🚢 Deployment

Using Docker Compose

The easiest way to deploy the entire stack is using Docker Compose:

# Clone the repository
git clone https://github.com/btwshivam/MindMesh.git
cd MindMesh

# Create .env file from example
cp backend/.env.example backend/.env
# Edit the .env file with your configuration

# Build and start all services (backend and frontend)
docker-compose up -d

# To view logs
docker-compose logs -f

# To stop all services
docker-compose down

This will start both the backend and frontend services. The backend will be available at http://localhost:5000 and the frontend at http://localhost:3000.

Manual Deployment

Backend Deployment

# Navigate to the backend directory
cd backend

# Build the Docker image
docker build -t mindmesh-backend .

# Run the container
docker run -p 5000:5000 --env-file .env mindmesh-backend

Frontend Deployment

# Navigate to the frontend directory
cd frontend

# Build the application
npm run build

# Start the production server
npm start

📚 API Documentation

API documentation is available at /api/docs when running the backend server.

Key API Endpoints
/api/auth/* Authentication endpoints
/api/users/* User management
/api/groups/* Group operations
/api/sessions/* Study session management
/api/notes/* Note operations
/api/code-snippets/* Code snippet management

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


MindMesh Logo

Built with ❤️ by Nupur Shivani

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages