Skip to content

BartMassey-upstream/eboshi_api_shootout

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

134 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Experimenting with building an API for Eboshi in a number of languages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Elixir 49.4%
  • Ruby 36.8%
  • JavaScript 6.7%
  • Shell 5.4%
  • Other 1.7%