Esse repositório contém uma implementação de uma REST API para o backend do site do DATCOM. Foi escrito em Go utilizando o framework Gin.
Estatisticas:
Linguagem | Arquivos | Linhas | Blanks | Comentários |
---|---|---|---|---|
Go | 27 | 1999 | 371 | 366 |
Bash | 4 | 302 | 41 | 7 |
Markdown | 3 | 1105 | 204 | 0 |
Total | 34 | 3406 | 616 | 373 |
Modifique o GIN_MODE caso necessário:
$ vim Dockerfile
ENV GIN_MODE=release
Inicialize os containers:
$ ./docker.sh <container> ...
# Inicia somente o gin_backend
$ ./docker.sh backend
# Inicia ambos os containers: postgresql e o gin_backend
$ ./docker.sh pg backend
O servidor estará esperando por conexões em 127.0.0.1:8000.
Caution
Caso esteja inicializando um container PostgreSQL via docker.sh, lembre-se de salvar o banco de dados antes de fazer qualquer outra operação pelo script (como reiniciar por exemplo).
Instale as dependências:
$ go get .
Configure o PostgreSQL:
$ sudo vim /etc/postgresql-16/postgresql.conf # ou equivalente
listen_addresses = 'localhost'
port = 4145
$ sudo vim /etc/postgresql-16/pg_hba.conf # caso exista esse arquivo
local all postgres trust
local all all md5
Modifique o initializers/env.go para não utilizar o Docker:
$ vim initializers/env.go
var DATCOM_DOCKER bool = false
Inicie o servidor do postgres:
$ sudo systemctl start postgresql
Para resetar, criar um novo banco de dados:
$ ./reset.sh
Para iniciar o backend do DATCOM-TD:
$ go run .
O servidor estará esperando por conexões em 127.0.0.1:8000.
A documentação completa da API está disponível no arquivo DOCUMENTATION-API.md. Ela contém informações detalhadas sobre o uso das endpoints (rotas), parâmetros e exemplos de requisições e respostas. Recomenda-se a leitura antes de iniciar o desenvolvimento.
Se você descobrir uma vulnerabilidade de segurança, consulte nossa Política de Segurança para mais detalhes.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as needed. See the LICENSE file for more information.
The coffee logo was generated by Craiyon.