DSC Competitive Programming Portal |
---|
A web portal which functions as an IDE (integrated development environment) with a primary focus on competitive coding.
It is a MERN Stack Web Application and is currently maintained on GitHub by DSC KIIT.
Tools and Technology
- Editor - CodeMirror
- Compiler - Judge0
- HTML - standard markup language for creating web pages
- CSS - style sheet language
- JavaScript - programming language that gives web pages interactive elements
- MongoDB - cross-platform document-oriented database program
- Express - back end web application framework for Node.js
- React - JS library for building UI components
- Node.js - evented I/O for the backend
How To Run
Prerequisites
You must have basic knowledge of a version control system like Git & Github.
Steps for installation
# Install dependencies for server
npm install
# Install dependencies for client
npm run client-install
# Run the client & server with concurrently
npm run dev
# Run the Express server only
npm run server
# Run the React client only
npm run client
# Server runs on http://localhost:5000 and client on http://localhost:3000
Key Features
- OAuth is used to get information from Google accounts, that enables users to sign in with their respective credentials:
- You can submit your code in C, C++, Java or Python. π¨βπ»
- You can add questions & testcases directly from the website into the database. β
- You can get questions using different filters of your choice(viz. languages, topic, difficulty level) π‘
- You can check your code against test cases (default or custom) βοΈ
- After compilation of your code, you can view the execution time and memory usage. π
- The editor supports 5 different colours themes. π¦
- User profile page
Deployment
There is a Heroku post build script so that you do not have to compile your React frontend manually, it is done on the server. Simply push to Heroku and it will build and load the client index.html page
Screenshots
Questions Page |
---|
Instructions,code & solution page |
---|
Editor,Compiler & Default Tests |
---|
Running against Custom input |
---|
Demo
You can report your issues here : https://github.com/RonitNayak25/DSC-CodingPortal/issues