API do projeto de criação de um sistema de caixa eletrônico feito com a linguagem de programação Go e SGBD MySQL.
Como rodar este projeto
Clone o repositório com o comando git clone https://github.com/felipesantoos/atm-v2.git.
Entre na pasta do projeto com o comando cd atm-v2.
Acesse o seu SGBD MySQL e cole os comandos contidos no arquivo sql/atm.sql.
Altere as suas credenciais do banco de dados na linha 11 do arquivo datas/db/db.go.
Execute o comando go run main.go.
Estruturação das pastas e arquivos
.
├── config
│ └── account.csv # Arquivo CSV de exemplo.
├── data
│ ├── db
│ │ └── db.go # Conexão com o banco de dados do MySQL.
│ ├── interfaces
│ │ └── iAccountRepository.go # Interface dos métodos de reposório das contas.
│ └── repositories
│ └── accountRepository.go # Implementação dos métodos de reposório das contas.
├── domains
│ └── models
│ └── account.go # Modelo de conta bancária.
├── endpoints
│ ├── dtos
│ │ ├── requests
│ │ │ └── csvRequest.go # DTO de requisição de uma conta bancária.
│ │ └── responses
│ │ └── csvResponse.go # DTO de resposta de uma conta bancária.
│ ├── handlers
│ │ └── accountHandler.go # Métodos executados quando as rotas são acessadas.
│ └── routes
│ └── accountRoutes.go # Rotas da aplicação.
├── go.mod
├── go.sum
├── LICENSE
├── main.go # Arquivo principal.
├── README.md
├── services # Lógica de negócios.
│ ├── accountService.go # Métodos com as lógicas de negócio das contas bancárias.
│ └── interfaces
│ └── iAccountServices.go # Definição dos métodos da camada de serviços.
├── sql
│ └── atm.sql # Código SQL com o esquema do banco de dados.
└── utils
└── csv.go # Leitor e conversor de CSVs em DTOs.