Skip to content

felipesantoos/lets-crud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lets CRUD

Um CRUD feito em Go.

Primeiros passos

  • Crie uma nova pasta para o projeto com o comando mkdir lets-crud.
  • Entre na nova pasta criada com o comando cd lets-crud.
  • Execute o comando go mod init letscrud pra definir o nome do módulo do projeto.
  • Instale o echo com o comando go get github.com/labstack/echo/v4.
  • Crie o arquivo main.go.
  • Execute o servidor com o comando go run main.go.
  • Teste as rotas usando a URL http://localhost:3000.

Rotas

Criar um novo cliente

POST http://localhost:3000/customer

{
	"cpf": "759.547.300-40",
	"name": "Felipe da Silva Santos",
	"birthDate": "2001-11-18"
}

Listar todos os clientes

GET http://localhost:3000/customers

Lista um cliente específico

GET http://localhost:3000/customer/:id

Atualizar um cliente específico

PUT http://localhost:3000/customer/:id

{
	"cpf": "995.694.610-98",
	"name": "João Pedro da Silva Santos",
	"birthDate": "2020-06-11"
}

Deletar um cliente específico

DELETE http://localhost:3000/customer/:id

Objetivos

  • Criar o esquema do banco de dados.
  • Criar banco de dados no MySQL.
  • Criar conexão com o banco de dados.
  • Criar domain.
    • Criar models.
    • Tratar erros.
  • Criar repositories.
    • Criar interfaces.
    • Implementar métodos.
      • Criar cliente.
      • Listar todos os clientes.
      • Listar um cliente específico.
      • Atualizar um cliente específico.
      • Remover um cliente específico.
  • Criar services.
    • Criar interfaces.
    • Implementar métodos.
      • Criar cliente.
      • Listar todos os clientes.
      • Listar um cliente específico.
      • Atualizar um cliente específico.
      • Remover um cliente específico.
  • Criar endpoints.
    • Criar rotas.
    • Criar handlers.
      • Criar cliente.
      • Listar todos os clientes.
      • Listar um cliente específico.
      • Atualizar um cliente específico.
      • Remover um cliente específico.
    • Criar DTOs.
      • Criar requests.
      • Criar responses.
  • Criar função de validação de CPFs.
  • Criar os testes da camada de repository.
  • Criar os testes da camada de service.
  • Criar os testes da camada de handler.

Configuração do banco de dados

go get -u github.com/go-sql-driver/mysql
sudo mysql
DROP DATABASE IF EXISTS letscrud;
CREATE DATABASE letscrud;
USE letscrud;

CREATE TABLE customer (
    id SERIAL PRIMARY KEY,
    cpf VARCHAR(11) UNIQUE NOT NULL,
    name VARCHAR(200) NOT NULL,
    birthDate DATE
);

About

Um CRUD feito em Go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages