Skip to content

hotaanubhab/Sphere-Engine-App

Repository files navigation

Sphere-Engine-App

forthebadge forthebadge forthebadge forthebadge forthebadge forthebadge forthebadge



Table of Contents
  1. About The Project
  2. Getting Started
  3. How To Use
  4. Contributing
  5. Acknowledgements
  6. License

About The Project

SphereEngine is a web application built with Sphere Engine Problems API to create programming questions, add test cases and compile and run them to check our solutions. Its a great place to hone programming skills like any CP site and easy to use for problem setters and programmers.

Built With

Getting Started

Video Demonstration:

forthebadge

[Sphere Engine App Demo]


Deployment:

forthebadge

Deployed using Heroku


Dependencies:

Installation

$ git clone https://github.com/hotaanubhab/Sphere-Engine-App.git
$ cd Sphere-Engine-App
$ npm install

Running

nodemon
 //or
node app.js

After getting the API Keys and endpoints please specify the following in a .env file in the root directory.
MONGO_URI = "" // Mongo cluster URI
PROBLEMS_API = "" // Endpoint from Sphere Engine Dashboard
ACCESS_TOKEN = "" // Acess token from Sphere Engine Dashboard
SECRET = "" // A string used to sign the JWT for verification , it can be any string but shouldn't be shared outside organization to prevent unauthorized access.

How To Use

The landing page consists of 4 main parts- 'Solve' , 'Admin' , 'Add' and 'Login': On the solve page participants cant select the problem they want to solve.

On the submit page of every question there is supprt for all the compilers by Sphere Engine API and the participant can submit his solution in prgramming language of choice.

Admin login is for protected routes like Add or Admin Panel for editing and deleting problems.This is done using JWT. For testing on Heroku server one can use Username : admin , Password : admin as a credential.

Admin Panel

Edit Page of a Problem. After edit press update or use this page to go to add test case of that problem , or delete problem.

Page used to add input output test cases for the problem.


Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

Acknowledgements

License

Distributed under the MIT License. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published