Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ericoliveiras/my-tasks-go
An API project make with Golang
https://github.com/ericoliveiras/my-tasks-go
Last synced: 14 days ago
JSON representation
An API project make with Golang
- Host: GitHub
- URL: https://github.com/ericoliveiras/my-tasks-go
- Owner: EricOliveiras
- Created: 2023-07-04T00:23:39.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-22T23:43:15.000Z (about 1 year ago)
- Last Synced: 2023-10-23T00:25:02.085Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 143 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Tasks Go
## Sobre o Projeto
O objetivo deste projeto é colocar em prática os conhecimentos adquiridos em Go (Golang). Ao longo do meu estudo, tenho explorado os conceitos fundamentais da linguagem, incluindo a sintaxe, tipos de dados, estruturas de controle e pacotes. Além disso, também tenho me familiarizado com o desenvolvimento de aplicações web.
Este projeto foi desenvolvido como uma aplicação em Go, que utiliza as melhores práticas e padrões recomendados para a linguagem. Ao implementar este projeto, busquei aprofundar meus conhecimentos e aprimorar minhas habilidades em Go, aplicando as técnicas aprendidas em um contexto prático.
Obs: Você pode utilizar este projeto front-end - [My Tasks](https://github.com/EricOliveiras/my-tasks) - para consumir está API.
## Pré-requisitos
Certifique-se de ter as seguintes ferramentas instaladas em seu sistema:
- Docker: [Instalação do Docker](https://docs.docker.com/get-docker/)
- Docker Compose: [Instalação do Docker Compose ](https://docs.docker.com/compose/)## Rodando o projeto
1. Clone este repositório em sua máquina local:
```bash
git clone https://github.com/EricOliveiras/my-tasks-go
```2. Acesse o diretório do projeto
```bash
cd basic-crud-go
```3. Rode o seguinte comando e aguarde a instalação
```bash
docker-compose up -d
```## Documentação da API
> Utilize no seu insomnia ou postman a url base: http://localhost:8080
> , Ou utilize este projeto frontend - [My Tasks](https://github.com/EricOliveiras/my-tasks) - criado para utilizar junto com esta API### Cria um Usuário
```http
POST /user
```| Parâmetro | Tipo | Descrição |
| :----------- | :------- | :--------------- |
| `first_name` | `string` | **Obrigatório**. |
| `last_name` | `string` | **Opcional**. |
| `email` | `string` | **Obrigatório**. |
| `password` | `string` | **Obrigatório**. |### Login
```http
POST /auth/login
```| Parâmetro | Tipo | Descrição |
| :--------- | :------- | :--------------- |
| `email` | `string` | **Obrigatório**. |
| `password` | `string` | **Obrigatório**. || Retorno | Tipo | Descrição |
| :------ | :------- | :-------- |
| `token` | `string` |### Retorna um usuário
```http
GET /user
Authorization: Bearer Token
```### Atualiza um usuário
```http
PATCH /user
Authorization: Bearer Token
```| Parâmetro | Tipo | Descrição |
| :----------- | :------- | :------------ |
| `first_name` | `string` | **Opcional**. |
| `last_name` | `string` | **Opcional**. |
| `password` | `string` | **Opcional**. |### Deleta um usuário
```http
DELETE /user
Authorization: Bearer Token
```### Cria uma tarefa
```http
POST /task
Authorization: Bearer Token
```| Parâmetro | Tipo | Descrição |
| :------------ | :------- | :--------------- |
| `title` | `string` | **Obrigatório**. |
| `description` | `string` | **Opcional**. |### Atualiza uma tarefa
```http
PATCH /task
Authorization: Bearer Token
```| Parâmetro | Tipo | Descrição |
| :------------ | :-------- | :--------------- |
| `id` | `string` | **Obrigatório**. |
| `title` | `string` | **Opcional**. |
| `description` | `string` | **Opcional**. |
| `finished` | `boolean` | **Opcional**. |### Deeleta uma tarefa
```http
DELETE /task
Authorization: Bearer Token
```| Parâmetro | Tipo | Descrição |
| :-------- | :------- | :--------------- |
| `id` | `string` | **Obrigatório**. |## Stack utilizada
- [Golang](https://go.dev/)
- [Gin-Gonic](https://gin-gonic.com/)
- [GoORM](https://gorm.io/)