Todo Server com Actix
Nesta primeira parte vamos desenvolver um Todo Server aplicando um modelo semelhante ao MVC do projeto Phoenix, da comunidade Elixir. Este modelo foi explicado no capítulo Como este livro é organizado, mas agora vamos detalhar um pouco quais serão as características deste serviço.
Vamos criar um RESTful Todo Server que seria facilmente utilizado em produção pois contará com uma série de recursos como:
- Endpoints de monitoramento:
pingque funciona comohealth check.~/readyque funciona como disponibilidade do servico,readiness probe.
- Endpoints para salvar as informações dos
TODOs,createshowshow-by-ideupdate. - Sistema de logs, headers padrão e middlewares de autenticação.
- Endpoints de autenticação, com
signup,loginelogoututilizando tokensJWTe banco de dados Postgres via Diesel. - Bastion para tornar o sistema tolerante a falhas.
- Dockerização de todos os serviços.
- CI executando as pipelines de teste.
- Serde para serialização e deserialização de Json.