Tecnologias | Projeto | Documentação | Licença
Esse projeto foi desenvolvido com as seguintes tecnologias:
Uma aplicação de API REST para gerenciamento do cadastro de medicamentos e farmácias, proporcionando funcionalidades de controle de estoque. A plataforma permite o cadastramento de medicamentos, a consulta dos registros existentes e a obtenção de detalhes específicos de cada item.
Adicionalmente, a aplicação oferece a capacidade de cadastrar o estoque das farmácias, proporcionando opções para inclusão, deleção e transferência de medicamentos entre unidades.
Diagrama de tabelas do projeto:
Para implementação das funcionalidades foram desenvolvidos os seguintes endpoints:
POST /farmacias{
"cnpj": 90561736000121,
"razaoSocial": "DevMed Ltda",
"nomeFantasia": "Farmácia DevMed",
"email": "devmed@farmacia.com",
"telefone": "(44)4444-4444",
"celular": "(44)9444-4441",
"endereco": {
"cep": 88888999,
"logradouro": "Rua Porto Real",
"numero": 67,
"bairro": "Westeros",
"cidade": "Berlim",
"estado": "SC",
"complemento": "Sala 02",
"latitude": 15.23456,
"longitude": 2.8678687
}
}| Parâmetro | Tipo | Descrição |
|---|---|---|
cnpj |
long |
Obrigatório |
razaoSocial |
string |
Obrigatório |
nomeFantasia |
string |
Obrigatório |
email |
string |
Obrigatório |
telefone |
string |
Opcional |
celular |
string |
Obrigatório |
endereco |
objeto |
Obrigatório |
cep |
long |
Obrigatório |
logradouro |
string |
Obrigatório |
numero |
integer |
Obrigatório |
cidade |
string |
Obrigatório |
estado |
string |
Obrigatório |
complemento |
string |
Opcional |
latitude |
double |
Obrigatório |
longitude |
double |
Obrigatório |
GET /farmaciasRetorna lista de farmácias através de JSON.
GET /farmacias/{cnpj}Retorna consulta do CNPJ informado através de JSON.
POST /medicamentos{
"nroRegistro": 9876,
"nome": "Medicine",
"laboratorio": "Matrix",
"dosagem": "2x ao dia",
"descricao": "Descricao",
"preco": 11.0,
"tipo": "COMUM"
}| Parâmetro | Tipo | Descrição |
|---|---|---|
nroRegistro |
integer |
Obrigatório |
nome |
string |
Obrigatório |
laboratorio |
string |
Obrigatório |
dosagem |
string |
Obrigatório |
descricao |
string |
Obrigatório |
preco |
float |
Obrigatório |
tipo |
string |
Obrigatório ENUM valor 'COMUM' ou 'CONTROLADO'; |
GET /medicamentosRetorna lista de medicamentos através de JSON.
POST /estoque{
"cnpj": 90561736000121,
"nroRegistro": 2233,
"quantidade": 3
}| Parâmetro | Tipo | Descrição |
|---|---|---|
cnpj |
long |
Obrigatório |
nroRegistro |
integer |
Obrigatório |
quantidade |
integer |
Obrigatório |
GET /estoque/{cnpj}Retorna lista de consulta de estoque através de JSON.
DELETE /estoque{
"cnpj": 90561736000121,
"nroRegistro": 2233,
"quantidade": 3
} PUT /estoque{
"registro": 1010,
"cnpjOrigem": 90561736000121,
"quantidadeOrigem": 10,
"cnpjDestino": 43178995000198,
"quantidadeDestino": 7
} POST /inicializacaoRealiza carga inicial de dados populando tabelas com dados fictícios para usabilidade e teste das funcinalidades.
Primeiro clone este repositório remoto em sua máquina local:
https://github.com/denisonkolling/pharma-api.git
Lembre-se de adicionar as dependências do projeto maven, o projeto inclui Open API Swagger UI.
Realize a configuração do seu banco de dados local em pharma-api/src/main/resources/application.properties:
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}Inicie a aplicação em sua IDE de preferência.
Acesse http://localhost:8080/swagger-ui/index.html através de seu navegador para acessar a aplicação.
Como a aplicação está atualmente em estágio de protótipo funcional, podem ser aplicadas diversas melhorias ou criadas novas funcionalidades:
- Implementação de camadas de segurança para autenticação e autorização de usuários.
- Melhorias no tratamento de exceções.
Este projeto está sob a licença MIT.

