Projeto referente à plataforma mobile de auxílio aos profissionais do ramo farmacêutico, denominado "MedControl". A finalidade principal é facilitar o controle de estoque e compras para farmácias, tornando o processo menos burocrático e mais eficiente. A API MedControl gerencia transações, funcionários, medicamentos, estoque, departamentos e unidades de trabalho para auxiliar profissionais do ramo farmacêutico no controle de estoque e compras.
- Confira o nosso pitch no youtube: https://www.youtube.com/watch?v=VZq0YH_sYCQ
usuario: admer
senha: Admin1234
MedControl oferece vários impactos positivos na saúde pública e na sociedade, proporcionando melhorias significativas para profissionais do ramo farmacêutico, pacientes e a comunidade em geral. Alguns dos benefícios incluem:
-
Eficiência no Controle de Estoque:
- Facilita o acompanhamento e controle preciso dos níveis de estoque de medicamentos em farmácias.
- Reduz a possibilidade de falta de medicamentos essenciais, garantindo uma oferta contínua para os pacientes.
-
Otimização de Compras:
- Ajuda na identificação de padrões de compra, permitindo uma melhor previsão de demanda e otimização do processo de compras.
- Evita compras excessivas ou insuficientes, contribuindo para a gestão eficiente dos recursos financeiros.
-
Registro Detalhado de Transações:
- Fornece um histórico detalhado de todas as transações, melhorando a rastreabilidade e a prestação de contas.
- Permite uma análise aprofundada do consumo de medicamentos e dos padrões de prescrição.
-
Atendimento Mais Eficiente:
- Capacita os profissionais de farmácia a oferecer um atendimento mais rápido e preciso aos pacientes, com acesso imediato às informações sobre a disponibilidade de medicamentos.
-
Redução de Desperdício:
- Evita o desperdício de recursos ao reduzir a possibilidade de medicamentos vencidos ou em excesso no estoque.
- Contribui para práticas mais sustentáveis, alinhadas com a gestão responsável de recursos farmacêuticos.
-
Melhoria na Segurança do Paciente:
- Minimiza o risco de erros de administração de medicamentos, garantindo que os medicamentos certos estejam disponíveis quando necessários.
- Ajuda a evitar situações críticas de saúde devido à falta de medicamentos essenciais.
-
Aumento da Produtividade dos Profissionais:
- Simplifica as operações diárias, permitindo que os profissionais farmacêuticos dediquem mais tempo ao atendimento ao paciente e atividades críticas.
-
Contribuição para Saúde Pública:
- Facilita a implementação de políticas de saúde pública ao garantir a disponibilidade de medicamentos cruciais.
- Oferece dados valiosos para pesquisas e análises sobre padrões de saúde e uso de medicamentos na comunidade.
Globalmente, esses impactos positivos contribuem para uma gestão mais eficaz de recursos farmacêuticos, melhorando a qualidade do atendimento ao paciente e fortalecendo o sistema de saúde como um todo.
O front-end da aplicação MedControl foi desenvolvido com React Native pela Milena Góes. Ela trouxe sua expertise para criar uma interface intuitiva e amigável utilizando o figma e aplicação do código em React Native, dedicado ao Android. O código-fonte do front-end está disponível no repositório GitHub dela: Milena Góes. Confira o projeto completo:
-
Funcionário:
- Ancora:
funcionario
- Uso: Funcionário
- Ancora:
-
Transação:
- Ancora:
transacao
- Uso: Transação
- Ancora:
-
Medicamento:
- Ancora:
medicamento
- Uso: Medicamento
- Ancora:
-
Estoque:
- Ancora:
estoque
- Uso: Estoque
- Ancora:
-
Departamento:
- Ancora:
departamento
- Uso: Departamento
- Ancora:
-
Unidade de Trabalho:
- Ancora:
unidade-de-trabalho
- Uso: Unidade de Trabalho
- Ancora:
- JDK (Java Development Kit) instalado
- Maven instalado
-
Clone o repositório:
git clone https://github.com/gabrielaalvescosta/med-control-api.git cd med-control-api
-
Build do Projeto:
mvn clean install
- Execute o projeto usando Maven:
mvn spring-boot:run
A API estará acessível em http://localhost:8080/medcontrol/api
.
GET /medcontrol/api/funcionario/{id}
Parâmetros de URL:
id
(obrigatório) - ID do funcionário
Exemplo do corpo de Response:
{
"id": 1,
"nome": "João Silva",
"cargo": "Farmacêutico",
"identificacao": "Unidade A",
"listaDeTransacoes": [
{
"id": 1,
"nomeDoRemedio": "Paracetamol",
"quantidade": 10,
"dataHora": "2023-01-01T12:00:00"
},
{
"id": 2,
"nomeDoRemedio": "Ibuprofeno",
"quantidade": 5,
"dataHora": "2023-01-01T12:00:00"
}
],
"status": true
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
404 |
Funcionário não encontrado |
GET /medcontrol/api/funcionario/listar
Exemplo do corpo de Response:
[
{
"id": 1,
"nome": "João Silva",
"cargo": "Farmacêutico",
"identificacao": "Unidade A",
"listaDeTransacoes": [
{
"id": 1,
"nomeDoRemedio": "Paracetamol",
"quantidade": 10,
"dataHora": "2023-01-01T12:00:00"
},
{
"id": 2,
"nomeDoRemedio": "Ibuprofeno",
"quantidade": 5,
"dataHora": "2023-01-01T12:00:00"
}
],
"status": true
},
{
"id": 2,
"nome": "Maria Oliveira",
"cargo": "Atendente",
"identificacao": "Unidade B",
"listaDeTransacoes": [
{
"id": 3,
"nomeDoRemedio": "Dipirona",
"quantidade": 8,
"dataHora": "2023-01-02T14:30:00"
},
{
"id": 4,
"nomeDoRemedio": "Amoxicilina",
"quantidade": 15,
"dataHora": "2023-01-02T14:30:00"
}
],
"status": true
}
]
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
POST /medcontrol/api/funcionario/cadastrar
Parâmetros de Request:
{
"nome": "João Silva",
"cargo": "Farmacêutico",
"identificacao": "Unidade A",
"status": true
}
Códigos de Resposta:
Código | Descrição |
---|---|
201 |
Funcionário cadastrado com sucesso |
400 |
Erro na validação dos dados da requisição |
PUT /medcontrol/api/funcionario/atualizar
Parâmetros de Request:
{
"id": 1,
"nome": "João Silva",
"cargo": "Farmacêutico",
"identificacao": "Unidade A",
"status": false
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Funcionário atualizado com sucesso |
400 |
Erro na validação dos dados da requisição |
404 |
Funcionário não encontrado |
- Atributos:
id
(PK)nomeDoRemedio
(FK)quantidade
nomeDoFuncionario
(FK)data
hora
GET /medcontrol/api/estoque/{id}
Parâmetros de URL:
id
(obrigatório) - ID do estoque
Exemplo do corpo de Response:
{
"id": 1,
"nomeDoRemedio": "Paracetamol",
"quantidade": 100,
"nomeDoFuncionario": "João Silva",
"dataHora": "2023-01-05T09:45:00"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
404 |
Estoque não encontrado |
GET /medcontrol/api/estoque/listar
Exemplo do corpo de Response:
[
{
"id": 1,
"nomeDoRemedio": "Paracetamol",
"quantidade": 100,
"nomeDoFuncionario": "João Silva",
"dataHora": "2023-01-05T09:45:00"
},
{
"id": 2,
"nomeDoRemedio": "Ibuprofeno",
"quantidade": 50,
"nomeDoFuncionario": "Maria Oliveira",
"dataHora": "2023-01-05T14:00:00"
}
]
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
POST /medcontrol/api/estoque/adicionar
Parâmetros de Request:
{
"nomeDoRemedio": "Paracetamol",
"quantidade": 50,
"nomeDoFuncionario": "João Silva",
"dataHora": "2023-03-10T14:30:00"
}
Códigos de Resposta:
Código | Descrição |
---|---|
201 |
Registro de estoque adicionado com sucesso |
400 |
Erro na validação dos dados da requisição |
PUT /medcontrol/api/estoque/atualizar
Parâmetros de Request:
{
"id": 1,
"nomeDoRemedio": "Paracetamol",
"quantidade": 75,
"nomeDoFuncionario": "João Silva",
"dataHora": "2023-03-10T14:30:00"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Registro de estoque atualizado com sucesso |
400 |
Erro na validação dos dados da requisição |
404 |
Registro de estoque não encontrado |
DELETE /medcontrol/api/estoque/remover/{id}
Parâmetros de URL:
id
(obrigatório) - ID do registro de estoque a ser removido
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Registro de estoque removido com sucesso |
404 |
Registro de estoque não encontrado |
- Atributos:
id
(PK)nome
fabricante
principioAtivo
dosagem
GET /medcontrol/api/medicamento/{id}
Parâmetros de URL:
id
(obrigatório) - ID do medicamento
Exemplo do corpo de Response:
{
"id": 1,
"nome": "Paracetamol",
"fabricante": "Genérico",
"principioAtivo": "Paracetamol",
"dosagem": "500mg"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
404 |
Medicamento não encontrado |
GET /medcontrol/api/medicamento/listar
Exemplo do corpo de Response:
[
{
"id": 1,
"nome": "Paracetamol",
"fabricante": "Genérico",
"principioAtivo": "Paracetamol",
"dosagem": "500mg"
},
{
"id": 2,
"nome": "Ibuprofeno",
"fabricante": "Medley",
"principioAtivo": "Ibuprofeno",
"dosagem": "400mg"
}
]
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
POST /medcontrol/api/medicamento/cadastrar
Parâmetros de Request:
{
"nome": "Paracetamol",
"fabricante": "Genérico",
"principioAtivo": "Paracetamol",
"dosagem": "500mg"
}
Códigos de Resposta:
Código | Descrição |
---|---|
201 |
Medicamento cadastrado com sucesso |
400 |
Erro na validação dos dados da requisição |
PUT /medcontrol/api/medicamento/atualizar
Parâmetros de Request:
{
"id": 1,
"nome": "Paracetamol",
"fabricante": "Genérico",
"principioAtivo": "Paracetamol",
"dosagem": "750mg"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Medicamento atualizado com sucesso |
400 |
Erro na validação dos dados da requisição |
404 |
Medicamento não encontrado |
DELETE /medcontrol/api/medicamento/apagar/{id}
Parâmetros de URL:
id
(obrigatório) - ID do medicamento a ser apagado
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Medicamento apagado com sucesso |
404 |
Medicamento não encontrado |
- Atributos:
id
(PK)nome
endereco
telefone
GET /medcontrol/api/unidade-trabalho/{id}
Parâmetros de URL:
id
(obrigatório) - ID da unidade de trabalho
Exemplo do corpo de Response:
{
"id": 1,
"nome": "Unidade A",
"endereco": "Rua Principal, 123",
"telefone": "(XX) XXXX-XXXX"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
404 |
Unidade de trabalho não encontrada |
GET /medcontrol/api/unidade-trabalho/listar
Exemplo do corpo de Response:
[
{
"id": 1,
"nome": "Unidade A",
"endereco": "Rua Principal, 123",
"telefone": "(XX) XXXX-XXXX"
},
{
"id": 2,
"nome": "Unidade B",
"endereco": "Avenida Secundária, 456",
"telefone": "(XX) XXXX-XXXX"
}
]
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
POST /medcontrol/api/unidade-trabalho/cadastrar
Parâmetros de Request:
{
"nome": "Unidade A",
"endereco": "Rua Principal, 123",
"telefone": "(XX) XXXX-XXXX"
}
Códigos de Resposta:
Código | Descrição |
---|---|
201 |
Unidade de trabalho cadastrada com sucesso |
400 |
Erro na validação dos dados da requisição |
PUT /medcontrol/api/unidade-trabalho/atualizar
Parâmetros de Request:
{
"id": 1,
"nome": "Unidade A",
"endereco": "Rua Principal, 123",
"telefone": "(XX) XXXX-XXXX"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Unidade de trabalho atualizada com sucesso |
400 |
Erro na validação dos dados da requisição |
404 |
Unidade de trabalho não encontrada |
DELETE /medcontrol/api/unidade-trabalho/apagar/{id}
Parâmetros de URL:
id
(obrigatório) - ID da unidade de trabalho a ser apagada
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Unidade de trabalho apagada com sucesso |
404 |
Unidade de trabalho não encontrada |
- Atributos:
id
(PK)nome
GET /medcontrol/api/departamento/{id}
Parâmetros de URL:
id
(obrigatório) - ID do departamento
Exemplo do corpo de Response:
{
"id": 1,
"nome": "Departamento A"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
404 |
Departamento não encontrado |
GET /medcontrol/api/departamento/listar
Exemplo do corpo de Response:
[
{
"id": 1
"nome": "Farmácia",
"funcionarios": [
{
"nome": "Nome do Funcionário 1"
},
{
"nome": "Nome do Funcionário 3"
}
]
}
{
"id": 2,
"nome": "Caixa"
"funcionarios": [
{
"nome": "Nome do Funcionário 2"
},
{
"nome": "Nome do Funcionário 4"
}
]
}
]
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
POST /medcontrol/api/departamento/cadastrar
Parâmetros de Request:
{
"nome": "Departamento A"
}
Códigos de Resposta:
Código | Descrição |
---|---|
201 |
Departamento cadastrado com sucesso |
400 |
Erro na validação dos dados da requisição |
PUT /medcontrol/api/departamento/atualizar
Parâmetros de Request:
{
"id": 1,
"nome": "Departamento A"
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Departamento atualizado com sucesso |
400 |
Erro na validação dos dados da requisição |
404 |
Departamento não encontrado |
DELETE /medcontrol/api/departamento/apagar/{id}
Parâmetros de URL:
id
(obrigatório) - ID do departamento a ser apagado
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Departamento apagado com sucesso |
404 |
Departamento não encontrado |
- Atributos:
id
(PK)nomeDoFuncionario
(FK)data
hora
itens
(Lista de Itens)
GET /medcontrol/api/transacao/{id}
Parâmetros de URL:
id
(obrigatório) - ID da transação
Exemplo do corpo de Response:
{
"id": 1,
"nomeDoFuncionario": "João Silva",
"data": "2023-01-01",
"hora": "12:00",
"itens": [
{
"nomeDoRemedio": "Paracetamol",
"quantidade": 10
},
{
"nomeDoRemedio": "Ibuprofeno",
"quantidade": 5
}
]
}
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
404 |
Transação não encontrada |
GET /medcontrol/api/transacao/listar
Exemplo do corpo de Response:
[
{
"id": 1,
"nomeDoFuncionario": "João Silva",
"data": "2023-01-01",
"hora": "12:00",
"itens": [
{
"nomeDoRemedio": "Paracetamol",
"quantidade": 10
},
{
"nomeDoRemedio": "Ibuprofeno",
"quantidade": 5
}
]
},
{
"id": 2,
"nomeDoFuncionario": "Maria Oliveira",
"data": "2023-01-02",
"hora": "14:30",
"itens": [
{
"nomeDoRemedio": "Dipirona",
"quantidade": 8
},
{
"nomeDoRemedio": "Amoxicilina",
"quantidade": 15
}
]
}
]
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Dados retornados com sucesso |
POST /medcontrol/api/transacao/cadastrar
Parâmetros de Request:
{
"nomeDoRemedio": "Paracetamol",
"quantidade": 10,
"nomeDoFuncionario": "João Silva",
"dataHora": "2023-03-10T14:30:00"
}
Códigos de Resposta:
| Código | Descrição |
| 201
| Transação cadastrada com sucesso |
| 400
| Erro na validação dos dados da requisição |
PUT /medcontrol/api/transacao/atualizar
Parâmetros de Request:
{
"id": 1,
"nomeDoRemedio": "Paracetamol",
"quantidade": 15,
"nomeDoFuncionario": "João Silva",
"dataHora": "2023-03-10T14:30:00"
}
Códigos de Resposta:
| Código | Descrição |
| 200
| Transação atualizada com sucesso |
| 400
| Erro na validação dos dados da requisição |
| 404
| Transação não encontrada |
DELETE /medcontrol/api/transacao/apagar/{id}
Parâmetros de URL:
id
(obrigatório) - ID da transação a ser apagada
Códigos de Resposta:
Código | Descrição |
---|---|
200 |
Transação apagada com sucesso |
404 |
Transação não encontrada |