Este é um pequeno recorte da API Pro Health (API completa de dieta por mim desenvolvida).
- Routes: definição de rotas (nome, método http e função)
- Controllers: funções das rotas (recebe requisição e chama outros pacotes para enviar resposta)
- Repositories: funções de interação com banco de dados
- Models: classes para validar dados
- Middlewares: funções a serem executadas entre a requisição e chamar funções das rotas de fato
- Auth: funções que envolvem autorização/jwt
- Config: pacote de inicialização de variáveis de ambiente (.env)
- Database: abertura da conexão com banco de dados
- Response: formatação de respostas a serem devolvidas
- Secutiry: funções de segurança/hash
- Utils: funções de utilidades diversas que não se encaixam em nenhum do pacotes
-
- Clone o repositório
git clone https://github.com/BernardoChamilet/water_intake_tracking_go_api
cd water_intake_tracking_go_api
-
- Crie um banco de dados postgresql da maneira que preferir e rode o script /db/init_db.sql nele
-
- Crie um .env na raiz do projeto contendo
DB_USER=usuario_do_banco
DB_PASSWORD=senha_do_banco
DB_NAME=nome_do_banco
DB_PORT=porta_do_banco
DB_HOST=servidor_do_banco
API_PORT=porta_da_api
SECRET_KEY=chave_secreta
-
- Instale as dependências
cd api
go mod download
go mod verify
-
- Compile o código
go build -o nome_executavel .
-
- Rode
./nome_executavel
nome_executavel.exe # Windows