Pharmacy Manager API é uma aplicação back-end construida com spring para administração de remedios de uma farmácia.
Com essa API é possível gerenciar remédio de foma fácil, A API também conta com autenticação via JWT usando spring security, onde existem 2 tipos de usuário (USER e ADMIN).
A aplicação possui swagger nos controllers, sendo possivel testa-la no swagger, para fazer isso, basta iniciar o projeto e ir na página:
http://localhost:8080/swagger-ui/index.html/
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu application.properties
Url do banco de dados mysql:
spring.datasource.url=
Nome do usuário do banco:
spring.datasource.username=
Senha do usuário do banco:
spring.datasource.password=
Desativa o stacktrace:
server.error.include-stacktrace=never
Segredo para gerar o token jwt:
api.security.token.secret=
Para rodar os testes, rode o seguinte comando
mvn test
Usuário com permissão de ADMIN, podem criar, atualizar, deletar, desabilitar e habilitar um remédio. Ele também pode promover outros usuários a administrador.
Usuários com permissão de USER, podem listar todos os remédios e ver detalhes de um remédio a partir do ID.
Para acessar qualquer recurso relacionado aos remédios o usuário deve está autenticado, a autenticação da aplicação e feita via JWT. O usuário deve acessar a rota de autenticação /auth
informando seu username
e password
e recebe de volta um token
para enviar nas requisições.
POST /users
Parâmetro | Tipo | Descrição |
---|---|---|
username |
string |
login do usuário. |
password |
string |
senha do usuário. |
role |
enum |
ADMIN OU USER. |
POST /auth
Parâmetro | Tipo | Descrição |
---|---|---|
username |
string |
Obrigatório. |
password |
string |
Obrigatório. |
GET /users
Parâmetro | Tipo | Descrição |
---|---|---|
token do usuário |
string |
Obrigatório. |
PUT /users
Parâmetro | Tipo | Descrição |
---|---|---|
token do usuário |
string |
Obrigatório. |
oldPassword |
string |
Senha antiga do usuário. |
newPassword |
string |
Nova senha |
POST /remedy
Parâmetro | Tipo | Descrição |
---|---|---|
token do usuário |
string |
Obrigatório. |
name |
string |
Nome do remédio. |
via |
enum |
ORAL, RENOSO, NASAL E RETAL. |
batch |
string |
Lote do remédio. |
amount |
number |
Quantidade. |
validity |
string |
validade do remédio (YYYY-DD-MM). |
laboratory |
enum |
MEDLEY OU ACHE. |
GET /remedy
Parâmetro | Tipo | Descrição |
---|---|---|
token do usuário |
string |
Obrigatório. |
GET /remedy/id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
Obrigatório. |
token do usuário |
string |
Obrigatório. |
PUT /remedy/id
Parâmetro | Tipo | Descrição |
---|---|---|
token do usuário |
string |
Obrigatório. |
name |
string |
Nome do remédio. |
via |
enum |
ORAL, RENOSO, NASAL E RETAL. |
batch |
string |
Lote do remédio. |
amount |
number |
Quantidade. |
validity |
string |
validade do remédio (YYYY-DD-MM). |
laboratory |
enum |
MEDLEY OU ACHE. |
DELETE /remedy/id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
Obrigatório. |
token do usuário |
string |
Obrigatório. |
DELETE /remedy/disable/id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
Obrigatório. |
token do usuário |
string |
Obrigatório. |
DELETE /remedy/enable/id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
string |
Obrigatório. |
token do usuário |
string |
Obrigatório. |
Back-end: Spring, Spring security, Spring test, JPA, Flaway, Loombok, Java JWT, Swagger.