Skip to content
This repository has been archived by the owner on Jun 7, 2023. It is now read-only.
/ word-of-wisdom Public archive

This project is a solution for some interview question on Golang.

Notifications You must be signed in to change notification settings

dmitryburov/word-of-wisdom

Repository files navigation

"Word of Wisdom" tcp server (protected from DDOS attacks with the Proof of Work).

Task

Design and implement "Word of Wisdom" tcp server:

  • TCP 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 Prof 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.

Getting started

Project based on Clean architecture principles.

Requirements:

  • Go 1.19+ installed (to run tests, start server or client without Docker)
  • Docker installed (to run docker-compose)
  • Environment file .env (see example in env.example)
# Run server and client by docker-compose
make run-compose

# Run only server
make run-server

# Run only client
make run-client

# other command - call help
make help

Resources

About

This project is a solution for some interview question on Golang.

Topics

Resources

Stars

Watchers

Forks