GithubHelp home page GithubHelp logo

strada-copy-cat's Introduction

strada-copy-cat

Description

Strada-copy-cat is a two endpoints REST API that can give you statistics on your runs.

The first endpoint (POST /addRun) lets you add one of your run to the system.

The second endpoint (GET /statsBetween) lets you get statistics about all the runs you made between a start_date and an end_date. If a run is not fully included in the interval, the run will still be counted, the number of kilometers and of calories will be interpolate linearly.

API

Endpoint Method Query Return
/addRun POST start_date :: UnixEpoch, end_date :: UnixEpoch, kilo :: PositiveNumber, calo :: PositiveNumber {id :: PositiveInteger}
/statsBetween GET start_date :: UnixEpoch, end_date :: UnixEpoch {average_kilo :: PositiveNumber, average_calo :: PositiveNumber}

How to ?

To test the api run :

yarn test

To run on your computer :

yarn start

To deploy, you will need to have git and docker and then to run :

make

Architecture

This app is divided into three parts : Endpoints management and data validation (main-middleware.js), App logic (api.js and run.js), Database interface (mockup-db.js).

Each part can be mocked or replaced considering that the module interfaces and functionalities remain the same.

strada-copy-cat's People

Contributors

dependabot[bot] avatar jeanbaptisteassouad avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.