Primeiramente, vale dizer que uma API (Application Programming Interface) é um conjunto de padrões/protocolos que facilita o desenvolvimento e integração de sistemas. Basicamente, a API estabelece a comunicação entre duas aplicações. Uma dessas aplicações fornece informações e serviços que podem ser utilizados pela outra, sem a necessidade de que conheçam detalhes de implementação do software.
Metaforicamente: um cliente vai ao restaurante, escolhe um prato no cardápio e faz o pedido para o garçom. Por sua vez, o garçom direciona esse pedido à cozinha, que o prepara. Por fim, o garçom traz o prato pronto até o cliente. O cliente não sabe como o prato foi preparado, apenas recebe o que foi solicitado.
O projeto em questão é sobre uma API RESTful inserida dentro de um contexto escolar. Esta realiza um CRUD padrão para criar/ler/atualizar/deletar alunos e professores.
- Golang
- Echo
- MongoDB