This repository follows the hexagonal architecture, the below diagram shows an overview of it.
You should have installed Go in your machine, please follow this guide https://golang.org/doc/install
git clone https://github.com/cristianchaparroa/cache.git
You can run the server using the following command
cd path/to/project/cache/
go run *.go
After executes the last commands, you can start to using the API.
If is not possible create a local environment, and you have docker installed in your machine you can follow the next steps to run the application.
cd path/to/project/cache/
docker build -t cache .
docker run -p 8080:8080 cache
If you have installed docker
and docker-compose
you also can deploy the services just with
cd path/to/project/cache/
docker-compose up
It'll start the API server that will be expose in
{host}:8080
You can run the unit testing using
go test ./...
- Create an object in memory
curl --request POST \
--url http://localhost:8080/object/1 \
--header 'Content-Type: application/json' \
--data '{
"name": "cristian",
"last": "chaparro",
"country": "Colombia",
"phone": "3226638130"
}'
- Get an object by key
curl --request GET \
--url http://localhost:8080/object/1
- Update an existent object
curl --request PUT \
--url http://localhost:8080/object/1 \
--header 'Content-Type: application/json' \
--data '{
"name": "cristian",
"last": "chaparro",
"country": "Colombia",
"phone": "3226638130",
"another": "field"
}'
- Delete an object
curl --request DELETE \
--url http://localhost:8080/object/1