Este projeto Java EE expõe uma API REST que integra com o Mercado Livre para importar e armazenar categorias e produtos, permitindo consultas otimizadas e organizadas por categoria.
- Java 17
- Jakarta EE (CDI, JPA, JAX-RS)
- Hibernate / JPA
- JSF (interface opcional)
- Gson & Jackson (JSON parsing)
- H2 / MySQL (ajustável)
- Maven
- 🔄 Importação de categorias diretamente da API do Mercado Livre
- 🔄 Importação de produtos por categoria
- ✅ Armazenamento em banco de dados com validação para evitar duplicatas
- 📋 Listagem de produtos com filtro por categoria
- 📁 Integração com interface JSF (ViewScoped Bean)
git clone https://github.com/Nicolas22prog/api-categorizacao.git
cd api-categorizacaoCrie o arquivo config.properties em src/main/resources:
mercadolivre.token=SEU_TOKEN_AQUI
🔒 Este arquivo está no
.gitignorepor segurança.
Por padrão, você pode usar H2 em memória para testes.
Para produção, altere o persistence.xml para usar MySQL ou outro banco de sua escolha.
Você pode executar a aplicação em um servidor compatível com Jakarta EE:
- Empacote com Maven:
mvn clean package- Faça o deploy do
.warno seu servidor de aplicação.
GET /categorias/importar
GET /produtos
POST /produtos/importar
Para cada categoria no banco, importa os produtos da API do Mercado Livre
com.mycompany.categorias.mercado
├── controller # Endpoints REST
├── service # Regras de negócio
├── dto # DTOs para comunicação com APIs externas
├── entity # Entidades JPA
├── view # JSF Managed Beans (UI)
├── config # Configurações como TokenConfig
├── util # Utilitários e auxiliares
Em breve serão adicionados testes de integração com JUnit e H2.
- Swagger/OpenAPI para documentação automática da API
- Scheduler para importação periódica de produtos
- Sistema de cache para evitar requisições desnecessárias
- Autenticação com JWT
- Fork este repositório
- Crie sua branch:
git checkout -b feature/minha-feature - Commit suas alterações:
git commit -m 'Minha feature' - Push para sua branch:
git push origin feature/minha-feature - Abra um Pull Request 🚀
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Desenvolvido por Nicolas22prog
GitHub: @Nicolas22prog