CodeSphere is a modern, full-stack online competitive programming platform. The main feature is the ability to take contests on real LeetCode problems, with AI-generated test cases. All contests are conducted in a protected environment: no tab switching is allowed (anti-cheat, 3 strikes system). Users can write, compile, and execute code in multiple languages (Java, Python, and more), attempt curated coding challenges, participate in programming contests, and see real-time test case evaluations. Track your performance on leaderboards.
- LeetCode Problem Contests: Participate in contests using real LeetCode problems with AI-generated test cases.
- Protected Environment: Secure contests—no tab switching, anti-cheat enabled (3 strikes system).
- Multi-language Support: Write code in Java, Python, and more.
- Live Code Execution: Secure, real-time code compilation and output.
- Real-Time Test Case Evaluation: Get instant feedback on your solutions.
- User Rankings and Leaderboard: Climb the leaderboard as you solve challenges.
- Admin Dashboard: Manage problems, users, and contests.
-
Install Java:
Download from Oracle
Verify installation:
java -version -
Install Python:
Download from Python.org
Verify installation:
python --version -
Install Node.js and npm:
Download from Node.js
Verify installation:
node -v
npm -v -
(Optional but recommended) Create a Python Virtual Environment
-
Windows:
python -m venv env env\Scripts\activate
-
Mac/Linux:
python3 -m venv env source env/bin/activate
-
Windows:
-
Install Python dependencies:
pip install -r requirements.txt -
Set up environment variables:
Create a.envfile in the root directory and configure credentials and secrets (database credentials, API keys, etc.).
-
Apply migrations:
python manage.py migrate -
(Optional) Create an admin user:
python manage.py createsuperuser
-
Start the Django backend server:
cd ./Coding python manage.py runserver
-
Start the frontend development server:
cd ./Client npm install npm run dev
We welcome contributions! Fork the repository and submit a pull request. For major changes, please open an issue to discuss your ideas first.
MIT License.
For support or questions, open an issue or contact the repository owner via GitHub.