Fernanda-Kipper /
backend-cardapio-digital
Esse projeto é a API REST da aplicação de Cardápio Digital desenvolvido durante meu tutorial no Youtube
Loading repository data…
DaviFaustino / repository
Backend da aplicação de registro de produtos. Stack: Java, Maven, Spring boot, Spring MVC, Spring Data JPA, Flyway, PostgreSQL, H2, Swagger, JUnit 5, Mockito e Docker.
O projeto possui 3 perfis maven:
development (default) - utiliza o H2 como banco de dados em memória, devtools, jacoco para cobertura de código e swagger ui habilitado.
homologation - utiliza o PostgreSQL como banco de dados, jacoco para cobertura de código e swagger ui habilitado.
production - utiliza o PostgreSQL como banco de dados e swagger ui desabilitado.
DB_USERNAME: guarda o nome de usuário para acessar o postgres nos perfis homologation e production.
DB_PASSWORD: guarda a senha para acessar o postgres nos perfis homologation e production.
FRONTEND_URL: guarda a url do frontend para configurar o CORS.
Utilize o Git para clonar o projeto e em seguida acesse o seu diretório.
git clone https://github.com/DaviFaustino/product-registration-system-backend.git
mvn spring-boot:run
#Fazer o build da imagem docker do projeto
docker build --build-arg MAVEN_PROFILE=development -t product-registration-app .
#Rodar container
docker run --name product-registration-app --network host -d product-registration-app
O projeto possui um arquivo .env na raiz, o qual você pode alterar com os valores para setar as variáveis de ambiente da aplicação e do postgres no arquivo docker-compose.yml. USER seta DB_USERNAME da aplicação e POSTGRES_USER do banco de dados. PASSWORD seta DB_PASSWORD da aplicação e POSTGRES_PASSWORD do banco de dados. FRONTEND_URL seta FRONTEND_URL da aplicação.
USER=postgres
PASSWORD=postgres
FRONTEND_URL=http://localhost:80
#Fazer o build com perfil production
docker compose build --no-cache
#ou se deseja ultilizar o swagger ui, faça o build com homologation
docker compose build --build-arg MAVEN_PROFILE=homologation --no-cache
#Rodar containers
docker compose up -d
| método/rota | query params | descrição | body |
|---|---|---|---|
| GET /product-types | searchTerm, category | Obtém uma lista de produtos | json |
| POST /product-types | - | Cria um novo produto | json |
| DELETE /product-types/{name} | - | Deleta um produto | - |
| PATCH /product-types/{name} | - | Atualiza um produto | json |
| GET /product-types/names | - | Obtém uma lista de produtos com preços atualizados recentemente | json |
| GET /products | searchTerm, productTypeName | Obtém uma lista de tipos de produto | json |
| POST /products | isPriceOld | Cria um novo tipo de produto | json |
| DELETE /products | code | Deleta um tipo de produto | - |
| PATCH /products | code | Atualiza um tipo de produto | json |
| GET /products/recent-price-updates | initialTime | Obtém uma lista de nomes de tipos de produto | json |
Response
[
{
"name": "string",
"category": "BAKING",
"averagePriceInCents": 100,
"fullStockFactor": 1
}
]
Request
{
"name": "string",
"category": "BAKING",
"fullStockFactor": 0
}
Response
{
"name": "string",
"category": "BAKING",
"averagePriceInCents": null,
"fullStockFactor": 0
}
Request
{
"name": "string",
"category": "BAKING",
"fullStockFactor": 0
}
Response
1
Response
[
"string"
]
Response
[
{
"code": "string",
"productTypeName": "string",
"name": "string",
"description": "string",
"purchasePriceInCents": 0,
"previousPurchasePriceInCents": 0,
"salePriceInCents": 0,
"previousSalePriceInCents": 0,
"priceUpdateDate": 1705200000000,
"fullStock": true
}
]
Request
{
"code": "string",
"productTypeName": "string",
"name": "string",
"description": "string",
"purchasePriceInCents": 0,
"salePriceInCents": 0,
"fullStock": true
}
Response
{
"code": "string",
"productTypeName": "string",
"name": "string",
"description": "string",
"purchasePriceInCents": 0,
"previousPurchasePriceInCents": 0,
"salePriceInCents": 0,
"previousSalePriceInCents": 0,
"priceUpdateDate": 1705200000000,
"fullStock": true
}
Request
{
"code": "string",
"productTypeName": "string",
"name": "string",
"description": "string",
"purchasePriceInCents": 0,
"salePriceInCents": 0,
"fullStock": true
}
Response
1
Response
[
"string"
]
Para mais detalhes da api e realizar testes, execute a aplicação localmente com perfil development ou homologation e acesse o swagger ui em http://localhost:8080/swagger-ui/index.html#/.
Selected from shared topics, language and repository description—not editorial ratings.
Fernanda-Kipper /
Esse projeto é a API REST da aplicação de Cardápio Digital desenvolvido durante meu tutorial no Youtube
Energym-Gen /
Back-end em Java do CRUD da aplicação do Energym
bbering /
Este projeto é uma API RESTful para um sistema de To-Do List, permitindo aos usuários criar, editar, listar e excluir tarefas. O backend da aplicação foi desenvolvido utilizando Java Spring e utiliza MySQL como banco de dados.
clodomilson-silva /
Backend da aplicação MiniEstoquePro em Java.
LeonardoTeixeiraa /
Este projeto é uma aplicação backend desenvolvida em Java com Spring Boot que consome dados da OMDb API para catalogar séries.
NicholasEmery /
API do back-end da aplicação Toneladas de Amor, desenvolvida em Java com Spring Boot. Este projeto é privado e será a base para operações essenciais do sistema, com foco em escalabilidade, segurança e comercialização futura.