Skip to content

notnotrachit/devcompete

Repository files navigation

DevCompete

How to setup this django project locally

Using poetry (Recommended) Steps:
  1. Install poetry from here
  2. Clone this repository
  3. Run poetry install in the root directory of the project
  4. Run poetry shell to activate the virtual environment
  5. Run python manage.py migrate to apply migrations
  6. Run python manage.py collectstatic to collect static files
  7. Run python manage.py createsuperuser to create a superuser
  8. Run python manage.py runserver to run the server
  9. Go to localhost:8000 to view the website
Using pip Steps:
  1. Clone this repository
  2. Run pip install -r requirements.txt in the root directory of the project
  3. Run python manage.py migrate to apply migrations
  4. Run python manage.py collectstatic to collect static files
  5. Run python manage.py createsuperuser to create a superuser
  6. Run python manage.py runserver to run the server
  7. Go to localhost:8000 to view the website

Features

Practice Problems

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.

Contests

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.

AI Chat

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.

Project Structure

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.

Code execution

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.

API & Services used

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published