The DSA Solution Platform is an open-source project designed to help users practice, submit, and review problems in Data Structures and Algorithms (DSA). It provides an interactive environment for users to hone their problem-solving skills, collaborate with others, and track their progress.
-
User Authentication
- Sign up, log in, and manage your profile using secure authentication (JWT).
-
Categorized Problems
- Access problems categorized into key DSA topics like:
- Arrays
- Linked Lists
- Trees
- Graphs
- Dynamic Programming
- And more...
- Access problems categorized into key DSA topics like:
-
Multi-Language Support
- Submit solutions in multiple programming languages including:
- C++
- Python
- Java
- Supports syntax highlighting and error handling.
- Submit solutions in multiple programming languages including:
-
Integrated Code Execution
- Secure sandboxed environment (powered by Docker) for executing code submissions in real-time.
-
Leaderboards
- Track and compare your performance against other users globally.
-
Discussion Forum
- Collaborate and share problem-solving approaches with the community.
-
Hints & Official Solutions
- Access hints for difficult problems and official solutions for guidance.
-
Advanced Search & Filters
- Easily search problems by name, difficulty, or category, and filter by programming language or topic.
-
Responsive Design
- Fully responsive design for seamless usage on both desktop and mobile devices.
-
Frontend:
- HTML, CSS, JavaScript (React.js or Next.js) – Provides a dynamic and interactive user interface.
-
Backend:
- Node.js, Express – A scalable backend API for handling requests and user management.
-
Database:
- MongoDB or PostgreSQL – Store data such as user profiles, problem descriptions, submissions, and leaderboard rankings.
-
Code Execution:
- Docker – Secure containerized environment for running and testing user-submitted code.
-
Authentication:
- JWT (JSON Web Tokens) – Ensures secure authentication and session management.
-
Testing and CI:
- Jest, Mocha, or Chai – To write unit tests and ensure code quality.
Before setting up the platform locally, ensure you have the following installed:
-
Node.js (v14 or later)
Install Node.js -
npm (Node Package Manager)
npm comes bundled with Node.js. -
Docker (For code execution environment)
Install Docker
Follow these steps to set up the project locally:
- Clone the repository:
git clone https://github.com/username/dsa-solution-platform.git cd dsa-solution-platform
- Install dependencies
npm install
- Start the development server
npm run dev
- Access the platform Open your browser and navigate to http://localhost:3000 on your Browser