Skip to content

Battle your peers head-to-head with intense coding challenges.

Notifications You must be signed in to change notification settings

kweng2/battle-code

 
 

Repository files navigation

Battle-Code

Battle your peers head-to-head with intense coding challenges.


Team


## Table of Contents
  1. Usage
  2. Requirements
  3. Development
    1. Installing Dependencies
    2. Roadmap
  4. Contributing
  5. Architecture
  6. API
  7. Deployment

## Usage

Load up the arena and try to complete as many of the test cases for the coding challenge as possible before your opponent.


## Requirements
  • Node 0.10.x
  • Express -
  • Postgresql 9.1.x
    • ORM
  • React -
  • Redux -

## Development

Installing Dependencies

From within the root directory:

sudo npm install -g bower
npm install
bower install

Roadmap

View the project roadmap here


## Contributing + Github Workflow

See github.md for contribution and github workflow guidelines.


## Architecture ### High Level Architecture ![](http://i.imgur.com/mqdnWVh.png)

Database Schema

Database in Postgres, using Bookshelf and Knex

Socket Interactions

API

Public End Points
Request URL Response
Log-in /auth/github
Log-out /logout
Verify User /auth-verify userObj
Get User /api/users/:githubHandle userObj
Get Match History /api/users/:githubHandle/matches/ [matchObj...]
Get User's Solutions /api/solutions/user/:gitubHandle [solutionObj...]
Get Solution /api/solutions/:solutionId solutionObj
Get Leaderboard /api/solutions/:challenge_id/top [solutionObj...]
Get Challenge /api/challenges/:challengeId [challengeObj...]
Admin Only
Request URL Response
GUI Access to Database /addProblemsSolutions.html
Add Challenge /api/challenges challengeObj
Get Random Challenge /api/challenges challengeObj
Add User /api/users userObj
Empty Database /api/resetDB
Reseed Database /api/resetDBWithData
Reseed Challenges Table /api/resetChallenges

Deployment

This has been deployed onto Digital Ocean using Docker containers. The backend architecture allows horizontal scaling of the solution worker to handle higher loads

About

Battle your peers head-to-head with intense coding challenges.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 86.4%
  • CSS 9.7%
  • HTML 3.9%