https://github.com/brenonsc/laravel-sales-manager
Repositório criado com o objetivo de armazenar uma API em Laravel que gerencia usuários, clientes, endereços, produtos e vendas.
https://github.com/brenonsc/laravel-sales-manager
docker jwt-authentication laravel mysql php sales swagger
Last synced: 20 days ago
JSON representation
Repositório criado com o objetivo de armazenar uma API em Laravel que gerencia usuários, clientes, endereços, produtos e vendas.
- Host: GitHub
- URL: https://github.com/brenonsc/laravel-sales-manager
- Owner: brenonsc
- License: mit
- Created: 2024-11-17T21:43:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-21T18:32:31.000Z (over 1 year ago)
- Last Synced: 2025-12-07T18:56:51.912Z (6 months ago)
- Topics: docker, jwt-authentication, laravel, mysql, php, sales, swagger
- Language: PHP
- Homepage:
- Size: 124 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Laravel Sales Manager 💰📊




O **Laravel Sales Manager** é uma aplicação backend desenvolvida em Laravel com integração via Docker e documentação de endpoints em Swagger. O sistema gerencia usuários, clientes, endereços, produtos e vendas, com autenticação JWT para segurança e rastreamento eficiente.
## Tecnologias utilizadas 🔨
## Requisitos ☑️
1. 🐳 **Docker**: Caso não tenha instalado, baixe no [site oficial do Docker](https://www.docker.com/products/docker-desktop).
2. 🐱 **Git**: Para clonar o repositório.
## Passos para Instalação 🖥️
1. **Clone o Repositório**
Abra o terminal, navegue até a pasta desejada e execute:
```bash
git clone https://github.com/brenonsc/laravel-sales-manager.git
```
2. **Entre na Pasta do Projeto**
```bash
cd laravel-sales-manager
```
3. **Inicie o Projeto**
Execute o comando para configurar o ambiente e subir os containers Docker:
```bash
cp .env.example .env && docker compose up --build
```
4. **(Opcional)** **_Gere uma nova chave JWT_**
> **⚠️ Importante:** Este passo garante segurança no processo de autenticação.
Abra uma nova aba no terminal e execute o comando após os containers estarem ativos:
```bash
docker compose exec app php artisan jwt:secret
```
## Endpoints Documentados 🟢
Os endpoints estão documentados em **Swagger** e podem ser acessados via:
- [http://localhost:8000](http://localhost:8000)
- [http://localhost:8000/api/docs](http://localhost:8000/api/docs)
## Principais Endpoints ▶️
### **Autenticação** 🔐
**Controller:** `AuthController`
- **POST /login**: Autentica o usuário e retorna um token JWT.
- **POST /signup**: Registra um novo usuário.
- **POST /logout**: Encerra a sessão autenticada.
- **GET /me**: Retorna os dados do usuário autenticado.
---
### **Clientes** :busts_in_silhouette:
**Controller:** `ClientController`
- **GET /clients**: Lista todos os clientes.
- **GET /clients/{id}**: Exibe detalhes de um cliente específico.
- **POST /clients**: Cria um novo cliente com seus endereços.
- **PUT /clients/{id}**: Atualiza informações do cliente e seu endereço.
- **DELETE /clients/{id}**: Deleta logicamente um cliente.
---
### **Produtos** 📦
**Controller:** `ProductController`
- **GET /products**: Lista produtos ativos.
- **GET /products/{id}**: Exibe detalhes de um produto.
- **POST /products**: Cria um novo produto.
- **PUT /products/{id}**: Atualiza informações de um produto.
- **DELETE /products/{id}**: Marca um produto como inativo.
---
### **Vendas** :chart_with_upwards_trend:
**Controller:** `SaleController`
- **GET /sales**: Lista todas as vendas.
- **POST /sales**: Registra uma nova venda.
## Testes :man_scientist:
Esta aplicação possui **testes unitários** implementados para todos os **controllers**, garantindo a funcionalidade e a estabilidade da aplicação.
#### Executando os Testes
Para rodar os testes, siga os passos abaixo:
1. Execute as migrações no ambiente de testes:
```bash
docker compose exec app php artisan migrate --env=testing
```
2. Execute os testes:
```bash
docker compose exec app php artisan test
```
## Licença :clipboard:
Este software está licenciado sob a [Licença MIT](https://github.com/brenonsc/laravel-sales-manager/blob/main/LICENSE).