Skip to content

Latest commit

 

History

History
36 lines (19 loc) · 1.33 KB

000_Requirements.md

File metadata and controls

36 lines (19 loc) · 1.33 KB

Requirements

Design and implement “Word of Wisdom” http server.

  • HTTP server should be protected from DDOS attacks with the Prof of Work (https://en.wikipedia.org/wiki/Proof_of_work), the challenge-response protocol should be used.

  • The choice of the POW algorithm should be explained.

  • After Proof Of Work verification, server should send one of the quotes from “word of wisdom” book or any other collection of the quotes.

  • Docker file should be provided both for the server and for the client that solves the POW Challenge.

  • Code should be covered with unit tests.

  • Code should be fully covered in comments (methods, variables, tests, etc.).

  • Code should be published on GitHub.

  • Readme file should be provided with instructions on how to run the server and the client.

Additional requirements (as derrived from the answers to the questions)

  • PoW algorithm should be balance between computational complexity and memory requirements.

  • No constraints on the choice of the storage for the quotes.

  • Additional layers of protection against DDoS attacks could be added, such as rate limiting or IP blocking.

  • Performance requirements for the server are not defined.

  • All documentation and comments are supposed to be in English.

  • Golang is the tool of choice.