Este repositório contém um servidor desenvolvido em Go, utilizando sqlc, tern e docker-compose para fins educativos e de demonstração.
- Configuração e inicialização de um servidor básico em Go.
- Suporte a múltiplas rotas e endpoints.
- Manipulação de requisições e respostas.
- Integração com banco de dados usando sqlc e tern.
- Configuração e orquestração de containers com docker-compose.
server/
├── cmd/
│ └── tools
| └── terndotenv
| └── main.go # Arquivo para executar o tern
├── internal/
│ ├── handlers/ # Manipuladores das rotas
│ ├── models/ # Modelos gerados pelo sqlc
│ ├── store/
| └── pgstore
│ ├── migrations/ # Scripts de migração do banco de dados
│ └── queries/ # Consultas SQL
├── config/
│ └── config.go # Configurações do servidor
├── docker-compose.yml # Configuração do docker-compose
├── .gitignore
├── go.mod
├── go.sum
└── README.md
- Go 1.23 instalado na máquina.
- Docker e Docker Compose instalados.
-
Clone o repositório:
git clone https://github.com/juliofilizzola/server.git cd server -
Instale as dependências do Go:
go mod tidy
-
Gere os arquivos de consulta sqlc:
sqlc generate
Para iniciar o servidor usando Docker Compose, execute:
docker-compose up --buildO servidor estará rodando em http://localhost:3000.
Para aplicar migrações do banco de dados usando tern, execute:
tern migrateSe você quiser contribuir com o projeto:
- Faça um fork do repositório.
- Crie uma branch para a sua feature (
git checkout -b feature/nova-feature). - Commit suas mudanças (
git commit -am 'Adiciona nova feature'). - Faça o push para a branch (
git push origin feature/nova-feature). - Crie um novo Pull Request.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.
Sinta-se à vontade para ajustar conforme necessário!