The Cadana Exchange Challenge involves building a client that retrieves exchange rate data from multiple services, selecting results from the quickest response, and discarding slow requests. This document provides a brief description of the challenge's goal and outlines the architecture used.
Build a client that efficiently retrieves exchange rate data by prioritizing responses from the fastest services, discarding slower ones.
- Go (programming language)
- Docker (containerization platform)
- Docker Compose (orchestration tool for Docker)
- Redis (in-memory data structure store)
Ensure that Docker is installed on your machine before proceeding.
-
Clone the repository to your local machine
git clone https://github.com/josephakayesi/cadana
-
Navigate to the project root.
cd cadana
-
Start the exchange servers and client servers using Docker Compose.
docker compose up
-
Access the people module and start the application that consumes data from the client server and performs manipulations on the Person objects.
cd people go run cmd/main.go