# crossnokaye-interview-assignment ## Go/Goa Design Homework Assignment Prerequisites - Basic familiarity with the Goa framework, including the following: - Introduction - Getting Started - Frequently Asked Questions - Design Overview - Examples ## Assignment Build a microservice application that stores characters and their item inventories for a multiplayer game. The application should be composed of the following microservices that communicate with each other: - An HTTP/JSON front service which provides an API to manipulate the characters, their inventories, and the items that exist - A GRPC back service that handles CRUD operations for the items that exist and their attributes - A GRPC back service that handles CRUD operations for the characters and their attributes - A GRPC back service that handles CRUD operations for the characters’ inventories. The front service should not have any state of its own and should call the appropriate back services via GRPC to implement its operations. The back services may store their state in memory. CRUD operations mean create, read, update, and delete; however, read should include both listing and showing an individual record. The microservices should be written in Go using the Goa framework and provided as a GitHub repository. ## Items Items should have the following attributes: - A unique name - A description - An amount of damage they can do - An amount of healing they can do - An amount of protection they can provide ## Characters Characters should have the following attributes: - A unique name - A description - An amount of health - An amount of experience ## Inventories Inventories should associate a set of items with a character.