Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rrodrigofranco/formulamanager
Este projeto consiste no desenvolvimento de um sistema de gerenciamento de fórmulas de manipulação para uma farmácia de manipulação. O sistema permitirá que os clientes solicitem fórmulas personalizadas, e cada fórmula poderá estar associada a vários ativos.
https://github.com/rrodrigofranco/formulamanager
laravel mysql phpunit swagger testes testes-unitarios
Last synced: 27 days ago
JSON representation
Este projeto consiste no desenvolvimento de um sistema de gerenciamento de fórmulas de manipulação para uma farmácia de manipulação. O sistema permitirá que os clientes solicitem fórmulas personalizadas, e cada fórmula poderá estar associada a vários ativos.
- Host: GitHub
- URL: https://github.com/rrodrigofranco/formulamanager
- Owner: rrodrigofranco
- License: other
- Created: 2024-08-15T05:02:24.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-08-18T01:01:46.000Z (3 months ago)
- Last Synced: 2024-10-09T11:43:30.788Z (27 days ago)
- Topics: laravel, mysql, phpunit, swagger, testes, testes-unitarios
- Language: PHP
- Homepage: https://www.centralfarma.com.br/
- Size: 232 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# API de Gerenciamento de Fórmulas de Manipulação
## Descrição do Projeto
Este projeto consiste em uma API desenvolvida para uma farmácia de manipulação, com o objetivo de gerenciar clientes, fórmulas de manipulação e os ativos utilizados nessas fórmulas. A API foi construída utilizando o framework Laravel, seguindo os princípios RESTful para garantir fácil integração e escalabilidade.
### Objetivos Principais
- **Gerenciamento de Dados:** A API permite o armazenamento e a manipulação de informações de clientes, fórmulas de manipulação e ativos.
- **Processamento de Solicitações:** Implementa a lógica necessária para processar as solicitações de fórmulas feitas pelos clientes, incluindo a associação de ativos a essas fórmulas.
- **Segurança e Eficiência:** Tratamento adequado de dados sensíveis como CPF, telefone, e nome, garantindo a segurança e a conformidade com as normas de privacidade.## Tecnologias Utilizadas
- Laravel 11
- MySQL
- Swagger para documentação da API## Requisitos
- PHP 8.x
- Composer
- MySQL## Instalação
1. Clone o repositório:
```git clone https://github.com/rrodrigofranco/FormulaManager ```
```cd FormulaManager ```2. Instale as dependências do projeto:
```composer install```
3. Configure o arquivo .env:
```cp .env.example .env```
```php artisan key:generate```4. Configure o banco de dados no arquivo .env:
```DB_CONNECTION=mysql```
```DB_HOST=127.0.0.1```
```DB_PORT=3306```
```DB_DATABASE=nome_do_banco```
```DB_USERNAME=usuario```
```DB_PASSWORD=senha```5. Execute as migrações:
```php artisan migrate```
6. Execute o composer:
```composer install```
## Autenticação
Para acessar os endpoints da API, você precisa fornecer um token de autenticação válido. O token deve ser incluído no cabeçalho `Authorization` das suas requisições HTTP.
### Criar um Usuário
Para criar um novo usuário na sua aplicação, envie uma requisição POST para a rota ```/v1/auth``` com os seguintes parâmetros:
**Parâmetros da Requisição:**
```{```
``` "name": "Exemplo de Usuário",```
``` "email": "[email protected]",```
``` "password": "senha123",```
``` "password_confirmation": "senha123"```
```}```Após a criação do usuário, você receberá uma resposta contendo um token de autenticação. Esse token deve ser utilizado para autenticar suas requisições subsequentes.
## Endpoints da API
### Endpoint para Documentação
- **GET /api/documentation**
- Acesso a documentação feita pelo swagger### Endpoints para Autenticação
- **GET /api/v1/auth**
- Cria um novo usuário com um token.### Endpoints para Clientes
- **GET /api/v1/clientes**
- Lista todos os clientes.- **POST /api/v1/clientes**
- Cria um novo cliente.
- **Parâmetros:**
- `nome`: string, obrigatório.
- `cpf`: string, obrigatório.
- `telefone`: string, opcional.- **GET /api/v1/clientes/{id}**
- Obtém detalhes de um cliente específico.- **PUT /api/v1/clientes/{id}**
- Atualiza as informações de um cliente específico.
- **Parâmetros:**
- `nome`: string, opcional.
- `cpf`: string, opcional.
- `telefone`: string, opcional.- **DELETE /api/v1/clientes/{id}**
- Exclui um cliente específico.### Endpoints para Fórmulas de Manipulação
- **GET /api/v1/formulas**
- Lista todas as fórmulas de manipulação.- **POST /api/v1/formulas**
- Cria uma nova fórmula de manipulação.
- **Parâmetros:**
- `nome`: string, obrigatório.
- `descricao`: string, opcional.
- `cliente_id`: integer, obrigatório.- **GET /api/v1/formulas/{id}**
- Obtém detalhes de uma fórmula de manipulação específica.- **PUT /api/v1/formulas/{id}**
- Atualiza as informações de uma fórmula de manipulação específica.
- **Parâmetros:**
- `nome`: string, opcional.
- `descricao`: string, opcional.
- `cliente_id`: integer, opcional.- **DELETE /api/v1/formulas/{id}**
- Exclui uma fórmula de manipulação específica.### Endpoints para Ativos
- **GET /api/v1/ativos**
- Lista todos os ativos.- **POST /api/v1/ativos**
- Adiciona um novo ativo.
- **Parâmetros:**
- `nome`: string, obrigatório.
- `descricao`: string, opcional.- **GET /api/v1/ativos/{id}**
- Obtém detalhes de um ativo específico.- **PUT /api/v1/ativos/{id}**
- Atualiza as informações de um ativo específico.
- **Parâmetros:**
- `nome`: string, opcional.
- `descricao`: string, opcional.- **DELETE /api/v1/ativos/{id}**
- Exclui um ativo específico.## Testes
Os teste podem ser realizados através do seguinte comando:
``` php artisan test ```## Documentação da API
A documentação da API foi gerada utilizando o Swagger. Para acessá-la, inicie o servidor localmente e acesse o endpoint `/api/documentation` no seu navegador.