Skip to content

Latest commit

 

History

History
164 lines (113 loc) · 4.78 KB

README.md

File metadata and controls

164 lines (113 loc) · 4.78 KB

coding platform

The backend for a coding platform designed for the cometlabs task according to their specifications along with a minimalistic UI for demonstration
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Demo
  3. Getting Started
  4. Roadmap
  5. Contact
  6. Acknowledgments

About The Project

This project contains the backend for the coding platform. Most of that code is located in the index.js files and the subsequent routes folder.

A frontend for this has also been built as part of the task which serves to demonstrate the functionality of the API.

Postman docs: https://documenter.getpostman.com/view/19472614/2s946e9tCW

Deployed URL: https://coding-plat.onrender.com

Both the frontend and backend are at the same url

(back to top)

Built With

  • Express

(back to top)

Demo

There are 2 demonstrations account already in the db:

Admin:
email: [email protected]
password: asd

Participant:
email: [email protected]
password: asd

Although participant accounts with real emails will have to be used to test the email feature

A Demonstration video showing a participant submitting a code challenge

demo

A Demonstration video showing an admin creating a code challenge and subsequently deleting it

demo

For more examples, please refer to the Documentation

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • npm

Installation

  1. Clone the repo
    git clone https://github.com/fa993/coding-plat
  2. Install NPM packages
    npm install
  3. Copy over your copy of .env files with the required credentials in the root directory

(back to top)

Running Locally

  1. use the npm startup script

    npm start

    (back to top)

Roadmap

  • API for users to signup and login
  • Role based acccess control for middleware
  • Questions stored in db and synchronised with sphere-engine
  • Admin API: CRUD functions for question
  • Admin API: CRUD function for testcases
  • Participant API: Ability to select questions and submit problems for those questions.
  • Paginated the lists for viewing testcases and questions
  • Viewing questions available to both roles
  • Mail the participants their own submissions
  • Frontend to demo the core features
  • JWT whitelist for more secure token management

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contact

Ameya Kore - [email protected]

Project Link: https://github.com/fa993/coding-plat

(back to top)

Acknowledgments

(back to top)