Este projeto é uma API RESTful desenvolvida com Spring Boot para gerenciar pedidos e usuários. Ele permite a criação, leitura, atualização e exclusão de pedidos e usuários, e utiliza JPA (Jakarta Persistence API) para persistência de dados, com suporte a relacionamentos entre as entidades.
- Spring Boot: Framework para o desenvolvimento de APIs RESTful.
- Spring Data JPA: Gerenciamento da persistência de dados.
- H2 Database: Banco de dados em memória utilizado durante o desenvolvimento (ou PostgreSQL/MySQL em produção).
- JSON Web Tokens (JWT): Para autenticação de usuários (caso queira implementar segurança).
- Jackson: Para conversão entre objetos Java e JSON.
- Lombok: Para evitar boilerplate no código (se necessário).
O projeto é estruturado em duas principais funcionalidades:
- Pedidos (Order): Gerencia os pedidos feitos pelos usuários.
- Usuários (User): Gerencia o cadastro e manipulação de usuários.
- Pedido (Order): Representa um pedido feito por um usuário. Cada pedido pode conter múltiplos itens e pode ter um pagamento associado.
- Usuário (User): Representa um cliente que pode realizar pedidos.
- GET
/orders
: Retorna todos os pedidos. - GET
/orders/{id}
: Retorna um pedido específico pelo ID. - POST
/orders
: Cria um novo pedido. - PUT
/orders/{id}
: Atualiza um pedido existente. - DELETE
/orders/{id}
: Deleta um pedido existente.
- GET
/users
: Retorna todos os usuários. - GET
/users/{id}
: Retorna um usuário específico pelo ID. - POST
/users
: Cria um novo usuário. - PUT
/users/{id}
: Atualiza um usuário existente. - DELETE
/users/{id}
: Deleta um usuário existente.
POST /orders
{
"moment": "2025-02-01T10:15:30Z",
"orderStatus": 1,
"client": {
"id": 1
},
"items": [
{
"productId": 1,
"quantity": 2
}
]
}
GET /orders/{id}
{
"id": 1,
"moment": "2025-02-01T10:15:30Z",
"orderStatus": 1,
"client": {
"id": 1
},
"items": [
{
"productId": 1,
"quantity": 2
}
],
"total": 200.0
}
POST /users
{
"name": "Ewerton Rodrigues",
"email": "ewerton@example.com",
"password": "password123"
}
- Clone o repositório:
git clone https://github.com/ewertondrigues02/sistema-de-gestao-de-vendas.git
- Navegue até o diretório do projeto:
cd sistema-de-gestao-de-vendas
- Execute o projeto
Se você estiver utilizando o Maven, execute o comando abaixo:
mvn spring-boot:run
Ou, se estiver usando o Gradle:
./gradlew bootRun
- Acesse a API
A API estará disponível em http://localhost:8080. Você pode usar o Postman ou cURL para testar os endpoints descritos acima.
Sinta-se à vontade para abrir um pull request para sugestões de melhorias ou correções. Fique à vontade para relatar problemas no Issue Tracker.
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.