Skip to content

Latest commit

 

History

History
31 lines (21 loc) · 1.45 KB

README.md

File metadata and controls

31 lines (21 loc) · 1.45 KB

EBOSHI API SHOOTOUT

Build Status

This repo contains multiple implementations of the same API: An API for the Eboshi time tracking and invoicing system.

Each implementation shares the MySQL database, and a language-agnostic test suite.

  • To run the tests for all implementations, run make.
  • To run the tests for one implementation, run make <implementation>, e.g. make elixir_phoenix.

Implementation requirements

Each implementation lives in its own subdirectory, and has the following requirements:

  • Must provide a bin/setup executable. This runs the server on port 6969 after installing any needed dependencies, etc (assume that the language itself is installed).
  • The API response must conform to the jsonapi.org standard.
  • Timestamps must be in UTC and formatted in ISO 8601.
  • Authentication system must conform to the JSON Web Token standard.
  • Must implement the following JSON endpoints.

Configuration

Some environment variables if you want to customize the access configuration:

  • EBOSHI_API_SHOOTOUT_MYSQL_USERNAME default: 'root'
  • EBOSHI_API_SHOOTOUT_MYSQL_PASSWORD default: none
  • EBOSHI_API_SHOOTOUT_MYSQL_DATABASE default: eboshi_test