Skip to content

EricFortesdaCosta/Api-Multifuncional-Modelo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Mercato

API em Java 17 que expõe serviços REST para chat com IA, gestão de projetos, produtos e indexação de documentação. O código está limpo para uso público (sem credenciais, PDFs ou builds) e pronto para ser publicado no GitHub.

Stack

  • Java 17, Maven
  • Jersey (JAX-RS) + Jetty
  • Firebase Admin / Firestore
  • MongoDB driver
  • OpenAI (chat e embeddings via OkHttp)

Pré-requisitos

  • JDK 17 e Maven instalados
  • Acesso a um cluster MongoDB
  • Projeto Firebase/Firestore e um serviceAccountKey.json (Admin SDK)
  • Chave de API OpenAI (ou compatível) para chat/embeddings

Configuração

  1. Copie o exemplo de variáveis:
    cp .env.example .env
  2. Preencha o .env com suas credenciais. Campos principais:
    • DB_HOST/DB_PORT/DB_NAME/DB_USER/DB_PASS
    • FIRESTORE_PROJECT_ID, FIRESTORE_DATABASE_ID, GOOGLE_CLOUD_PROJECT
    • AI_API_KEY, AI_MODEL, AI_ENDPOINT, EMBEDDING_MODEL, EMBEDDING_ENDPOINT
    • (Opcional) API_PROTHES_MERC_URL/USER/PASSWORD, DOC_STORAGE_DIR
  3. Coloque o serviceAccountKey.json em src/main/resources/ (arquivo está no .gitignore para evitar vazamentos).
  4. Documentação indexada: os PDFs e manifests foram removidos. Para habilitar as rotas de documentação, adicione seus arquivos em src/main/resources/documentation/ (ex.: manifest.json, pdfs/indexed_chunks.json ou PDFs que serão processados).

Execução local

mvn clean package
java -jar target/api-Mercato-1.0-SNAPSHOT.jar

O servidor sobe na porta definida em PORT (padrão 8080).

Para desenvolvimento rápido, também é possível:

mvn jetty:run

Endpoints (visão geral)

  • GET /health – verificação de saúde
  • GET /produtos, GET /produtos/{id} – produtos
  • GET /projects, POST /projects – gestão de projetos
  • POST /docs/upload, GET /docs/search – indexação/consulta de documentação (requer documentos configurados)
  • POST /chat – chat com IA

O que foi removido para segurança

  • .env, credenciais Firebase (serviceAccountKey.json)
  • PDFs e embeddings de documentação
  • Builds/artefatos (target/, JAR em deploy/)
  • Pastas de IDE (.idea, .vscode)

Próximos passos

  • Subir um MongoDB e criar as coleções necessárias.
  • Criar/baixar a chave de serviço do Firebase e salvar em src/main/resources.
  • Popular documentation/ com seus PDFs ou JSONs de embeddings se for usar as rotas de documentação.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published