Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dariomatias-dev/todo_golang
To-do list API built in Golang
https://github.com/dariomatias-dev/todo_golang
crud docker docker-compose gin go golang postgresql source-code sql sqlc
Last synced: about 3 hours ago
JSON representation
To-do list API built in Golang
- Host: GitHub
- URL: https://github.com/dariomatias-dev/todo_golang
- Owner: dariomatias-dev
- Created: 2023-12-01T18:10:15.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2023-12-01T18:44:55.000Z (12 months ago)
- Last Synced: 2024-06-19T23:09:15.196Z (5 months ago)
- Topics: crud, docker, docker-compose, gin, go, golang, postgresql, source-code, sql, sqlc
- Language: Go
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API de lista de tarefas feita em Golang
Bem-vindo à To-Do API, uma aplicação de lista de tarefas construída em Go utilizando os frameworks Gin para a camada Web, SQLC para acesso ao banco de dados e Docker para a execução do banco de dados.
## Tecnologias usadas
- [Go](https://go.dev/)
- [Gin](https://gin-gonic.com/)
- [SQLC](https://sqlc.dev/)
- [Docker](https://www.docker.com/)
- [PostgreSQL](https://www.postgresql.org/)## Requisitos
Certifique-se de ter os seguintes itens instalados antes de iniciar:
- Go (versão utilizada no projeto: 1.21.4)
- Docker
- Imagem do PostgreSQL baixada
- SQLC (foi instalado na maquina)## Instalação e Execução
Clone o repositório:
```bash
git clone https://github.com/dariomatias-dev/todo_golang
cd todo_golang
```Abra o arquivo `.env_example` e remova do seu nome `_example`, depois preencha os campos que estão faltando.
Instale as depedências:
```bash
go mod download
```Crie o container com o banco de dados:
```bash
docker-compose up -d
```Obs.: Se estiver no Linux e tiver dado erro, provavelmente irá precisar colocar `sudo` antes do comando.
Rode a aplicação:
```bash
go run main.go
```## Endpoints
A API fornece os seguintes endpoints:
- POST `/todo`: Criação de uma nova tarefa. Por padrão a tarefa é criada com o valor `false` no campo `status`.
- GET `/todos/:id`: Retorna a tarefa do ID enviado, caso não exista será retornado o valor `null`.
- GET `/todos`: Retorna todas as tarefas, caso não exista nenhuma no banco de dados será retornado `null`.
- PATCH `/todos/:id`: Atualiza uma tarefa existente.
- PATCH `/todo-status/:id`: Atualiza o status da tarefa.
- DELETE `/todos/:id`: Exclui uma tarefa.## Licença
Este projeto é licenciado sob a Licença MIT.
Divirta-se usando a To-Do API construída em Go!