Este repositório contém duas APIs que compõem o sistema de reconhecimento de marcas de cerveja, implementadas em diferentes tecnologias.
A estrutura do projeto é organizada da seguinte maneira:
- ProjetoVaiNaWeb/
- api1_nest/ (Diretório da API 1 - Nest.js)
- src/ (Código fonte da API 1)
- package.json (Dependências da API 1)
- nest-cli.json (Configurações do Nest CLI)
- tsconfig.json (Configuração do TypeScript)
- Outros arquivos e pastas
- api2_python/ (Diretório da API 2 - Python)
- app/ (Código fonte da API 2)
- pyproject.toml (Dependências da API 2)
- poetry.lock (Lock file do Poetry)
- Outros arquivos e pastas
- docker-compose.yml (Arquivo de configuração do Docker Compose)
- api1_nest/ (Diretório da API 1 - Nest.js)
- Repositório dedicado aqui
- Framework: FastAPI
- Linguagem: Python
- OCR: Tesseract OCR
- Gerenciador de Pacotes: Poetry
- A API 1 (Nest.js) recebe solicitações de upload de imagem e repassa para a API 2.
- A API 2 (Python) processa a imagem usando Tesseract OCR e retorna a marca identificada.
-
Clone o Repositório
git clone --recurse-submodules https://github.com/JuniorD-Isael/ReconhecedorDeMarcaDeCerveja.git cd ReconhecedorDeMarcaDeCerveja
-
Instale o Docker e Docker Compose
Certifique-se de que você tenha o Docker e Docker Compose instalados.
-
Suba as APIs com Docker Compose
docker-compose up --build
-
Acesse as APIs
- API 1: http://localhost:3000
- API 2: http://localhost:8000
A API permite processar uma imagem de uma lata de cerveja, identificar e retornar o nome da marca. Você pode interagir com ela de três maneiras: usando Postman, Insomnia, ou via terminal com cURL
.
- Método:
POST
- URL:
http://localhost:8000/process-image
- Body:
form-data
- Campo
file
: faça o upload da imagem
- Campo
- Método:
POST
- URL:
http://localhost:8000/process-image
- Body:
Multipart
- Campo
file
: faça o upload da imagem
- Campo
Execute o seguinte comando, substituindo <caminho-para-a-imagem>
pelo caminho da imagem que deseja processar:
curl -X POST "http://localhost:8000/process-image" -F "file=@<caminho-para-a-imagem>"
A resposta será um JSON contendo o nome da marca detectada:
{
"filename": "nome_do_arquivo.png",
"brandName": "Nome da marca detectada",
"created_at": "2024-10-01T01:46:22.515Z",
"imagePath": "uploads/nome_do_arquivo.png",
"id": 6
}
Para visualizar todos os registros que já foram salvos no banco de dados, você pode acessar a seguinte rota:
- URL: http://localhost:3000/logs
- Método:
GET
Essa rota retornará uma lista com todos os logs armazenados no banco de dados, incluindo detalhes como filename
, brand
, created_at
, e imagePath
.
Sinta-se à vontade para contribuir! Abra um issue ou um pull request.
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.