- Echo
- Gorm
- Mysql
- Docker
- Redis
- Golang
- Mysql
- Testify
- Swag
- Echo Swagger
- Docker 20.10.17 or superior
- Docker Compose 1.29.2 or superior
- Start containers Docker
docker-compose up -d
- Run migrate
make migrate
- Run seed
make seed
To run unit tests, execute this command:
make cover
- Start API
make api
- Open your Brozer at: http://localhost:8080/swagger/index.html#/coin/get_coin_price
-
Install Postman or Insomnia
-
import File Collections
./docs/Digital Wallet 2.postman_collection.jsondocs/Digital Wallet 2.postman_collection.json
- Use the endpoints
- Conexao com banco de dados MySQL
- Rota de Valores de moedas atual
- Remover container de consulta de valores no redis
- Criar Wallet do usuário
- Ao depositar alterar a wallet tbm
- Ao debitar consultar a wallet se é possivel
- Validação de dados -> Rota de Deposito
- Validação de dados -> Rota de Saque
- Rota Historico
- Rota Balanço - Apresentar valor em carteira, valor em moeda atual, valor em dolares e valore em euros e a somatoraria dessas duas moedas principais
- Testes unitários
- Swagger com as rotas mapeadas
- Seed com alguns dados iniciais
- Centralizar os Log's
- Colocar Prometheus
- Colocar Grapfana
- Arrumar os containers para API rodar corretamente
- Colocar Cobra para gerenciar o CMD
- Melhorar o Migrate
- Melhorar o Seed
- Melhorar a Coleta de values dos coins
- Melhorar a leitura dos values dos coins
- Colocar o Sleep de Collect como variavel de Ambiente
- CI com job para SonarCloud
- Teste de Integração
- Testes no Domain, já que o mesmo possui regras de criação
- Colocar o Valor na Wallet em Dolares e Euros na hora do Balanço
- Criar Server gRPC
- Add Kafka
- Na operação de Deposit, publicar uma mensagem no topic do kafka
- Na operação de Withdraw, publicar uma mensagem no topic do kafka
- Novo container para receber e printar as mensagens recebidas pelo kafka
- No Database criar: Transaction, Commit e Rollback
- Criar rotas que usem graphQL