Loading repository data…
Loading repository data…
Harshdev625 / repository
Collaborative platform to learn Data Structures & Algorithms with multi-language support, community contributions, and interactive visualizations.
Overview • Features • Quick Start • Tech Stack • Contributing • Contributors
SDEverse is an open-source collaborative platform designed to help Software Development Engineers master Data Structures and Algorithms (DSA). Built with modern web technologies, it provides an interactive learning environment with comprehensive resources, community-driven content, and practical coding implementations.
Built for developers, students, competitive programmers, and anyone preparing for technical interviews.
Important for Contributors: Understanding our tech stack helps you get started quickly!
| Library | Purpose | Version |
|---|---|---|
react | Frontend framework | ^19.1.0 |
@reduxjs/toolkit | State management | ^2.9.0 |
express | Backend framework | ^5.1.0 |
mongoose | MongoDB ODM | ^8.19.1 |
@monaco-editor/react | Code editor | ^4.7.0 |
tailwindcss | CSS framework | ^4.1.14 |
framer-motion | Animations | ^12.23.22 |
react-markdown | Markdown rendering | ^10.1.0 |
┌─────────────────────────────────────┐
│ React Frontend │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Pages │ │ Components │ │
│ │ │ │ │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ ┌──────┴─────────────────┴───────┐ │
│ │ Redux Store (RTK) │ │
│ └────────────────┬───────────────┘ │
└───────────────────┼──────────────────┘
│
│ REST API (HTTPS)
│ JWT Authentication
│
┌───────────────────▼──────────────────┐
│ Express.js Backend │
│ │
│ ┌────────────┐ ┌──────────────┐ │
│ │ Routes │ │ Controllers │ │
│ │ │──▶│ │ │
│ └────────────┘ └──────┬───────┘ │
│ │ │
│ ┌────────────┐ │ │
│ │Middleware │ │ │
│ │(Auth, CORS)│ │ │
│ └────────────┘ │ │
└─────────────────────────┼───────────┘
│
▼
┌─────────────────────────┐
│ MongoDB Database │
│ │
│ • Users │
│ • Algorithms │
│ • DataStructures │
│ • Proposals │
│ • Comments │
│ • Notifications │
│ • Feedback │
└─────────────────────────┘
Visit the Live Platform 🌟
Prerequisites
Backend Setup
# Clone repository
git clone https://github.com/Harshdev625/SDEverse.git
cd SDEverse/server
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env and set:
# - MONGO_URI=mongodb://localhost:27017/sdeverse
# - JWT_SECRET=your-secret-key
# - PORT=5000
# - CLOUDINARY_CLOUD_NAME=
# - CLOUDINARY_API_KEY=
# - CLOUDINARY_API_SECRET=
# Start development server
npm run dev
Frontend Setup
# Navigate to client directory
cd ../client
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env and set:
# - VITE_API_BASE_URL=http://localhost:5000/api
# Start development server
npm run dev
The application will be available at:
http://localhost:5173http://localhost:5000cd client
npm test
npm run test:coverage
npm run test:ui
cd server
npm test
npm run test:coverage
npm run test:ui
client/coverage/index.htmlserver/coverage/index.htmlRun coverage first, then open these HTML files in your browser for detailed file-by-file results.
SDEverse/
├── client/ # React frontend
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ │ ├── code/ # Code display components
│ │ │ ├── forms/ # Form components
│ │ │ └── ui/ # UI components
│ │ ├── features/ # Redux slices & API
│ │ │ ├── algorithm/ # Algorithm management
│ │ │ ├── auth/ # Authentication
│ │ │ ├── user/ # User management
│ │ │ └── ... # Other features
│ │ ├── pages/ # Page components
│ │ ├── utils/ # Utility functions
│ │ └── App.jsx # Main app component
│ ├── package.json
│ └── vite.config.js # Vite configuration
│
├── server/ # Node.js backend
│ ├── controllers/ # Request handlers
│ ├── middleware/ # Express middleware
│ ├── models/ # MongoDB schemas
│ ├── routes/ # API routes
│ ├── utils/ # Utility functions
│ ├── server.js # Server entry point
│ └── package.json
│
├── docs/ # Documentation
├── .github/ # GitHub templates & workflows
├── README.md # This file
├── LICENSE # MIT license
├── CONTRIBUTING.md # Contribution guidelines
└── CODE_OF_CONDUCT.md # Community guidelines
POST /api/auth/register - Register new userPOST /api/auth/login - User loginGET /api/auth/profile - Get user profilePUT /api/auth/profile - Update user profile