Using poetry (Recommended)
Steps:- Install poetry from here
- Clone this repository
- Run
poetry install
in the root directory of the project - Run
poetry shell
to activate the virtual environment - Run
python manage.py migrate
to apply migrations - Run
python manage.py collectstatic
to collect static files - Run
python manage.py createsuperuser
to create a superuser - Run
python manage.py runserver
to run the server - Go to
localhost:8000
to view the website
Using pip
Steps:- Clone this repository
- Run
pip install -r requirements.txt
in the root directory of the project - Run
python manage.py migrate
to apply migrations - Run
python manage.py collectstatic
to collect static files - Run
python manage.py createsuperuser
to create a superuser - Run
python manage.py runserver
to run the server - Go to
localhost:8000
to view the website
You can pratice coding problems on our platform in a very user friendly & appealing user interface. You can also get help from AI and get subtle hints to improve your code to optimize it.
You can participate in 1v1 coding contests on our platform. The contest modules allows users to see realtime progress of their opponenet to make the contest more interesting.
You can chat with our AI to get help with learn and upskill yourself. You can also get help from AI and get subtle hints to improve your code to optimize it.
The project is organized into several Django apps, each serving a different part of the application:
contest/
: This app handles the creation and management of coding contests.practice/
: This app is responsible for managing practice problems.devcompete/
: This is the main Django project directory. It contains settings, URL configurations, and utility functions.
The code is evaluated using the Judge0. You can use your own instance of judge0 by deploying it on your own cloud.
We are currently using the Judge0 instance that we have deployed on our Azure VM.
Judge0 API docs: https://ce.judge0.com/ Judge0 executes our code in an isolated environment. The code is executed in a docker container.
- Private Judge0 Instance: For Code execution
- Google Gemini API: For AI help & Code analysis
- Azure VM: For hosting the Judge0 instance
- Azure App Service: For hosting the Django app
- Azure Database for MySQL: For storing the data
- Redis Cloud: For caching the data
- Azure OpenAI Service: For AI help & Code analysis based on gpt3.5 model