Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.