FizzBuzz API

Basic implementation of a fizz-buzz REST server for the technical screening of LeBonCoin.

Implementation is kept as simple as possible and without external library. The language used is Golang, and a makefile with build and test targets is available for ease of use. The provided tests aren't complete to keep them short but demonstrate the nominal case of the API and check compliance with the instruction.

Ready for production

Instructions are very vague, so this implementation considers that "ready for production" means:

  • "well-behvaed" in the unix sense:
    • logs in stdout
    • handling of signals
    • correct exit code on error
    • make commands for building
    • command-line parameters for chosing the listening interface
    • help message with the available options
  • user-friendly
    • clear interface with a documentation
    • consistent output
    • correct error messages & status codes

No particular effort has been made towards instrumentation of the code for monitoring, like logging all input requests or exporting metrics, as it is very platform-specific.

Likewise, not effort towards specific deployment infrastructure has been made, like providing a dockerfile for building containers, for the same reasons.