bassjacob / bowling

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bowling

This is a REST api implementation of a scoring application for a standard ten-pin bowling game. It supports:

  • Generating a new scorecard for a game
  • Scoring a Frame of the game
  • Calculating the score of a given scorecard

Installation Instructions

The application uses stack to build, run tests and run. You could also use this Dockerfile to build the application if you do not have stack available.

Commands

Once you have stack installed:

  • tests - You can run the tests by executing stack test.
  • application - You can run the application by executing stack run
    • the application will run on port 3000
    • POST /scorecards will return you a new scorecard
    • POST /scorecards/calculate will calculate the score of the scorecard. If the game is complete it will give you the final score of the game as well

I have included some fixture json files for you to manually test the server with {nonscoringgame,perfectGame,unplayedGame}.json. Assuming the server is running, you can use these as follows:

curl -XPOST --data "@filename.json" localhost:3000/scorecards/calculate

About

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 100.0%