Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deirofelippe/anotaai-challenge
https://github.com/deirofelippe/anotaai-challenge
docker expressjs github-actions grafana k6 kubernetes mongodb nodejs prometheus rabbitmq s3 terraform typescript
Last synced: 23 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/deirofelippe/anotaai-challenge
- Owner: deirofelippe
- Created: 2024-02-03T01:20:10.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-05T16:11:08.000Z (2 months ago)
- Last Synced: 2024-11-05T17:25:17.548Z (2 months ago)
- Topics: docker, expressjs, github-actions, grafana, k6, kubernetes, mongodb, nodejs, prometheus, rabbitmq, s3, terraform, typescript
- Language: TypeScript
- Homepage:
- Size: 4.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Anotaai Challenge
Repositório do enunciado teste: https://github.com/githubanotaai/new-test-backend-nodejs
[Acessar o README da V1 (Nodejs, RabbitMQ, MongoDB)](https://github.com/deirofelippe/anotaai-challenge/tree/main/v1#readme)
Exercicio feito para por em prática diversas ferramentas. A ideia seria por mais versões e mudando a stack, como por exemplo: nodejs, python, php, rabbitmq, sqs e sns.
## Versões
### V1
Vídeo da versão 1 sendo usada (Docker)
[![Vídeo da versão 1 sendo usada (Docker)](https://img.youtube.com/vi/1wTzJHnSl2M/0.jpg)](https://www.youtube.com/watch?v=1wTzJHnSl2M)
Vídeo da versão 1 sendo usada (Kubernetes)
[![Vídeo da versão 1 sendo usada (Kubernetes)](https://img.youtube.com/vi/xRRKmhuxGw8/0.jpg)](https://www.youtube.com/watch?v=xRRKmhuxGw8)
- **Fila:** RabbitMQ
- **Banco de dados:** MongoDB
- **Backend:** Typescript, Express
- **Armazenamento de arquivo:** AWS S3 e Localstack
- **Observabilidade:** Prometheus e Grafana
- **Teste de Performance:** K6
- **CI/CD:** Act (Github Actions rodado localmente)
- **VM ou Container:** Docker Compose e Kubernetes### V2 (Não desenvolvido)
- **Fila:** AWS SNS e SQS
- **Banco de dados:** AWS DynamoDB
- **Backend:** Python, Flask
- **Armazenamento de arquivo:** AWS S3
- **Observabilidade:** Prometheus e Grafana
- **Teste de Performance:** Gatling
- **CI/CD:** Act (Github Actions rodado localmente)
- **VM ou Container:** Docker Compose e Kubernetes## Checklist
- [ ] Teste automatizado cobrir mais partes do código
- [ ] Refatorar o código do producer e consumer
- [ ] Criar alertas com prometheus para sistemas fora do ar
- [ ] Um banco de dados para cada microserviço
- [ ] Padroes: circuit breaker, saga, rate limit, eda, cqrs, event sourcing, database per service, load balancer, api gateway
- [x] Arquitetura em Camadas
- [ ] Variáveis de ambiente
- [ ] Testes de unidade
- [ ] Error handling
- [ ] Documentação: desenho da arquitetura, justificar decisões, descrição de funcionalidades, descrever configurações para obter resiliência/alta disponibilidade/segurança/escalabilidade
- [x] Histórico de commits
- [ ] Boas práticas: SOLID, clean code, object calisthenics, design patterns
- [ ] API Versioning
- [ ] Observabilidade, 4 Golden Signals e Profiling (pyroscope)
- [ ] Ferramentas de qualidade: analise estática de código
- [ ] Linter
- [ ] SonarQube
- [ ] Cache (redis)
- [ ] Segurança:
- [ ] OWSAP
- [ ] VPS (ssh, firewall)
- [ ] Elasticsearch (Fulltext Searchj)
- [ ] Banco de dados:
- [ ] Index
- [ ] Fulltext Serach
- [ ] Sharding
- [ ] Replication