Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.

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

License

Notifications You must be signed in to change notification settings

botandrose/eboshi_api_shootout

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 server must exit cleanly after receiving the SIGINT or SIGTERM signal.
  • 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

License

All code released under the MIT License.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published