Este projeto consiste em uma API construída para lidar com uma aplicação financeira, oferecendo recursos para o controle do usuário em relação às suas transações, entradas e saídas.
Login
Host: http://localhost:3333/api
Endpoint: /auth
Método: POST
Requisição:
{
"email": "email@example.com",
"password": "123456"
}
Resposta 200:
{
"id": "uuid-v4",
"email": "email@example.com",
"token": "bearer.token",
"avatar": "https://images.com/image1"
}
Resposta 401:
{
"hasError": true,
"message": "Usuário ou senha inválidos."
}
Criar Usuário
Host: http://localhost:3333/api
Endpoint: /user
Método: POST
Requisição:
{
"name": "John Doe",
"email": "email@example.com",
"password": "123456",
"avatar": "https://images.com/image1"
}
Resposta 201:
N/A
Resposta 400:
{
"hasError": true,
"message": "Esse e-mail já existe."
}
Obter um Usuário
Host: http://localhost:3333/api
Endpoint: /user/:userId
Método: GET
Requisição:
URL Params:
userId (uuid-v4)
Headers:
{
"authorization": "Bearer bearer.token"
}
Resposta 200:
{
"id": "uuid-v4",
"name": "John Doe",
"email": "email@example.com",
"avatar": "https://images.com/image1"
}
Resposta 400:
{
"hasError": true,
"message": "Esse usuário não existe."
}
Atualizar um Usuário
Host: http://localhost:3333/api
Endpoint: /user/:userId
Método: PUT
Requisição:
URL Params:
userId (uuid-v4)
Body:
{
"avatar": "https://images.com/image1",
"name": "John Doe"
}
Headers:
{
"authorization": "Bearer bearer.token"
}
Resposta 204:
N/A
Resposta 400:
{
"hasError": true,
"message": "Esse usuário não existe."
}
Criar Categoria
Host: http://localhost:3333/api
Endpoint: /category
Método: POST
Requisição:
{
"description": "Alimentação"
}
Headers:
{
"authorization": "Bearer bearer.token"
}
Resposta 201:
N/A
Resposta 400:
{
"hasError": true,
"message": "Uma categoria com esse nome já existe."
}
Obter todas as Categorias
Host: http://localhost:3333/api
Endpoint: /category
Método: GET
Requisição:
Headers:
{
"authorization": "Bearer bearer.token"
}
Resposta 200:
[
{
"id": "uuid-v4",
"description": "Café"
},
{
"id": "uuid-v4",
"description": "Alimentação"
},
{
"id": "uuid-v4",
"description": "Casa"
}
]
Criar Transação
Host: http://localhost:3333/api
Endpoint: /transaction
Método: POST
Requisição:
{
"description": "Pizza com amigos",
"amount": 100,
"type": "Depósito", // ou "Crédito"
"categoryId": "uuid-v4"
}
Headers:
{
"authorization": "Bearer bearer.token"
}
Resposta 201:
N/A
Obter todas as Transações
Host: http://localhost:3333/api
Endpoint: /transaction
Método: GET
Requisição:
Headers:
{
"authorization": "Bearer bearer.token"
}
Resposta 200:
[
{
"id": "uuid-v4",
"description": "Café com amigos",
"amount": 50,
"type": "Depósito",
"categoryId": "uuid-v4"
},
{
"id": "uuid-v4",
"description": "Pizza com amigos",
"amount": 100,
"type": "Depósito",
"categoryId": "uuid-v4"
},
{
"id": "uuid-v4",
"description": "Salário março 2023",
"amount": 1200,
"type": "Crédito",
"categoryId": "uuid-v4"
}
]
Remover Transação
Host: http://localhost:3333/api
Endpoint: /transaction/:transactionId
Método: DELETE
Requisição:
URL Params:
transactionId
(uuid-v4)
Headers:
{
"authorization": "Bearer bearer.token"
}
Resposta 204:
N/A
Resposta 400:
{
"hasError": true,
"message": "Essa transação não existe."
}
- C# .NET
- ASP.NET Core
- Entity Framework Core
- Swagger
- SQlite
- JSON Web Token (JWT)
- Clone o repositório:
git clone https://github.com/heitorgandolfi/Levva-Coins-Api.git
-
Abra o projeto em sua IDE preferida (por exemplo, Visual Studio ou Visual Studio Code).
-
Configure o banco de dados:
Verifique se você tem o SQLite Server instalado. No arquivo appsettings.json, verifique e atualize a string de conexão com o banco de dados.
- Execute as migrações do banco de dados:
Abra o Terminal (no Visual Studio Code) ou o Console do Gerenciador de Pacotes (no Visual Studio).
Execute o seguinte comando:
dotnet ef database update
- Inicie o servidor:
No Visual Studio Code, execute o seguinte comando no Terminal:
dotnet run
No Visual Studio, basta pressionar o botão "Executar" ou "Iniciar" (F5).