supermarket-api
Supermarket-API is a service providing functionality for cataloging produce and their prices.
Getting Started
To start supermarket-api you will need to create an .env file at cmd/api/.env. A convenience example with sane defaults is located at cmd/api/example.env and you can create your environment file by running:
~$ cp cmd/api/example.env cmd/api/.env
Usage
Supermarket-API has a Makefile with commonly needed commands. To use the Makefile append the command to make in your terminal:
~$ make run
Testing
To run unit tests for Supermarket-API use the included make command:
~$ make unit-test
To see test coverage:
~$ make test-coverage
To see a visual report of test coverage:
~$ make coverage-report
Docker
A Dockerfile is included to allow running in ECS or GKE. Make commands are included for building and running the containers. make docker-run sets local development variables and should not be used for production.
API Spec
| Method | Endpoint | Description | Request Body | Response |
|---|---|---|---|---|
| GET | /v1/produce | Return all catalogued produce. | null |
200 OK 400 Bad Request 500 Internal Server Error |
| POST | /v1/produce | Add produce items to the catalogue. | [{"code":"string","name":"string","price":{"amount":123,"currency":"USD"}}] |
201 Created 400 Bad Request 500 Internal Server Error |
| GET | /v1/produce/{produceCode} | Get the produce item with the given produceCode. | null |
200 OK 400 Bad Request 500 Internal Server Error |
| DELETE | /v1/produce/{produceCode} | Delete the produce item with the given produceCode. | null |
204 No Content 400 Bad Request 500 Internal Server Error |