Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iarlen-reis/howmuch-api
API do projeto HowMuch
https://github.com/iarlen-reis/howmuch-api
cloudinary eloquent jwt-auth laravel php postgresql
Last synced: about 2 months ago
JSON representation
API do projeto HowMuch
- Host: GitHub
- URL: https://github.com/iarlen-reis/howmuch-api
- Owner: iarlen-reis
- Created: 2024-06-06T23:47:43.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-27T04:38:10.000Z (7 months ago)
- Last Synced: 2024-06-27T05:46:41.776Z (7 months ago)
- Topics: cloudinary, eloquent, jwt-auth, laravel, php, postgresql
- Language: PHP
- Homepage:
- Size: 211 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# HowMuch API
Essa é a API da aplicação HowMuch (gerenciador de gastos), ela foi construída utilizando PHP com Laravel.
## Screenshots
![App Screenshot](public/github/image.png)
## Stack utilizada
- PHP 8.2
- Laravel 11
- PostgrSQL
- Cloudinary
- Jwt-auth## Funcionalidades
- Autenticação com email/senha.
- Autorização utilizando JWT.
- Endpoints para visualização, criação e remoção de compra.
- Endpoint de visualização de fatura atual.
- Endpoint de visualização de uma fatura específica a partir do id.
- Endpoint de visualização de proxímas faturas.
- Endpoint para adicionar uma imagem do perfil para o usuário.## Documentação da API
[Swagger da API](https://how-much-api.iarlenreis.com.br/api/documentation)
### Faturas (Invoices)
#### Retorna a fatura atual do usuário
```http
GET /api/invoices/current-invoice
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :-------- |
| `token ` | `string` | Sim | Token JWT |#### Retorna uma fatura a partir do id.
```http
GET /api/invoices/${id}
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :----------- |
| `ID ` | `string` | Sim | ID da fatura |
| `token ` | `string` | Sim | Token JWT |#### Retorna as proxímas faturas do usuário
```http
GET /api/invoices/next-invoices
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :-------- |
| `token ` | `string` | Sim | Token JWT |#### Retorna os dados de uma fatura a partir do id formatado para o padrão do grafico.
```http
GET /api/invoices/${id}/chart
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :----------- |
| `ID ` | `string` | Sim | ID da fatura |
| `token ` | `string` | Sim | Token JWT |### Compras (Purchases)
#### Retorna todas as compras do usuário
```http
GET /api/purchase
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :-------- |
| `token ` | `string` | Sim | Token JWT |#### Cria uma nova compra.
```http
POST /api/purchase
```| Parâmetro | Tipo | Requerido | Descrição |
| :------------- | :--------- | :-------- | :------------------------------------- |
| `title ` | `string` | Sim | Titulo da compra |
| `type ` | `string` | Sim | Tipo da compra |
| `value ` | `decimal` | Sim | Valor da compra |
| `date ` | `datetime` | Sim | Data da fatura para adicionar a compra |
| `description ` | `string` | Não | Descrição da compra |
| `token ` | `string` | Sim | Token JWT |#### Retorna uma compra a partir do id
```http
GET /api/purchase/${id}
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :----------- |
| `ID ` | `string` | Sim | ID da compra |
| `token ` | `string` | Sim | Token JWT |#### Deleta uma compra a partir do id
```http
DELETE /api/purchase/${id}
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :----------- |
| `ID ` | `string` | Sim | ID da compra |
| `token ` | `string` | Sim | Token JWT |#### Retorna as últimas 5 compras do usuário com o valor da fatura atual e das pŕoximas faturas
```http
GET /api/purchase/last-purchases
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :------- | :-------- | :-------- |
| `token ` | `string` | Sim | Token JWT |### Upload
#### Faz o upload da imagem do perfil do usuário
```http
POST /api/auth/resgister
```| Parâmetro | Tipo | Requerido | Descrição |
| :-------- | :-------------------- | :-------- | :------------------------------ |
| `file ` | `multipart/form-data` | Sim | Imagem para o perfil do usuário |
| `token ` | `string` | Sim | Token JWT |### Autenticação
#### Cria um novo usuário
```http
POST /api/auth/resgister
```| Parâmetro | Tipo | Requerido | Descrição |
| :---------- | :------- | :-------- | :---------------- |
| `name ` | `string` | Sim | Nome do usuário |
| `email ` | `string` | Sim | E-mail do usuário |
| `password ` | `string` | Sim | Senha do usuário |#### Faz o login do usuário e retorna um token jwt para usar nas requisições
```http
POST /api/auth/login
```| Parâmetro | Tipo | Requerido | Descrição |
| :---------- | :------- | :-------- | :---------------- |
| `email ` | `string` | Sim | E-mail do usuário |
| `password ` | `string` | Sim | Senha do usuário |