Skip to content

Web platform for users to develop their own online judge platforms

License

Notifications You must be signed in to change notification settings

ptjung/cpcforge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

CPCForge is a web platform for end users to create and customize their own online judge platforms. The platform aims at helping smaller competitive programming organizations fluorish.

Features

  • Users can create problems, constraints, and test cases
  • Users can build their platform with some customization and security
  • Problems can be solved with Python 3 and given test case feedback

Running Locally

1 - Installation

From the base cpcforge directory, install required Python dependencies via:

pip install -r requirements.txt

For cloning and setting up the dependencies on the frontend and backend:

$ git clone https://github.com/ptjung/cpcforge.git
$ cd cpcforge\cpcforge
$ python manage.py migrate
$ cd cpcforge\apps\frontend
$ npm i

2 - Environment Setup

Create an .env file within the base cpcforge directory. Then, fill in the values for each of the following keys:

MONGODB_CONN_STRING - MongoDB connection URI
BASE_URL - Site's base URL
JWT_SECRET_KEY - Secret
DJANGO_SECRET_KEY - Secret
PISTON_API_KEY - Piston API key (optional)

3 - Running

From the base cpcforge directory, run both of the following (development):

$ python manage.py runserver
$ npm run dev --prefix cpcforge\apps\frontend

Built With

  • MongoDB Atlas - For storing users, platforms, and submission logs
  • React.js - Used for frontend development
  • Django - Executes the backend logic
  • Piston API - Allows user-based code execution

License

Usage is provided under the MIT License. See LICENSE for the full details.

About

Web platform for users to develop their own online judge platforms

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published