Skip to content

edubertin/langchain-docker-app

Repository files navigation

� LangChain News API - Frontend

Uma aplicação completa com frontend HTML para buscar notícias reais sobre qualquer tema usando Docker.

📋 Requisitos

  • Docker (v20.10+)
  • Docker Compose (v2.0+)
  • Chave da NewsAPI (gratuita)

🚀 Quick Start

1. Configure a API Key

# Acesse https://newsapi.org e crie uma conta gratuita
# Copie sua chave da API

2. Configure o ambiente

cd langchain-docker-app
cp .env.example .env
# Edite .env e adicione: NEWS_API_KEY=sua_chave_aqui

3. Execute com Docker

docker-compose up --build

4. Acesse a aplicação

📁 Estrutura do Projeto

langchain-docker-app/
├── app/
│   ├── src/
│   │   ├── main.py           # API FastAPI + Frontend
│   │   └── chains.py         # Buscador de notícias
│   └── static/
│       └── index.html        # Frontend HTML/CSS/JS
├── Dockerfile               # Configuração Docker
├── docker-compose.yml       # Orquestração
├── requirements.txt         # Dependências Python
├── .env.example            # Exemplo de configuração
└── README.md               # Este arquivo

🎨 Frontend Features

  • Interface moderna com design responsivo
  • Busca em tempo real de notícias
  • Cards bonitos com imagens e metadados
  • Links diretos para as notícias completas
  • Tratamento de erros elegante
  • Loading states durante as buscas

🔌 Endpoints da API

Frontend

GET /          # Interface HTML principal

API

GET  /health   # Status da aplicação
POST /news     # Buscar notícias
GET  /docs     # Documentação Swagger

Exemplo de uso da API

curl -X POST http://localhost:8000/news \
  -H "Content-Type: application/json" \
  -d '{"topic":"inteligência artificial","limit":10}'

🔧 Configuração

Arquivo .env

NEWS_API_KEY=sua_chave_newsapi_aqui
DEBUG=False
LOG_LEVEL=INFO
HOST=0.0.0.0
PORT=8000

Obter chave NewsAPI

  1. Acesse newsapi.org
  2. Crie conta gratuita
  3. Copie sua chave da API
  4. Cole no arquivo .env

🐳 Comandos Docker

# Construir e executar
docker-compose up --build

# Apenas executar
docker-compose up

# Parar containers
docker-compose down

# Reconstruir sem cache
docker-compose build --no-cache

# Ver logs
docker-compose logs -f

🎯 Como Usar

  1. Abra http://localhost:8000 no navegador
  2. Digite um tema (ex: "tecnologia", "política", "esportes")
  3. Selecione quantas notícias quer (5-20)
  4. Clique em "Buscar Notícias"
  5. Explore os resultados com links diretos

📊 Características das Notícias

  • Reais - Buscadas da NewsAPI
  • Recentes - Últimos 7 dias
  • Limitadas - Máximo 3 linhas por notícia
  • Fonte - Mostra de qual site veio
  • Links - Acesso direto à notícia completa

🛠️ Desenvolvimento

Desenvolvimento local

# Instalar dependências
pip install -r requirements.txt

# Executar aplicação
python app/src/main.py

Modificar frontend

Edite app/static/index.html e reconstrua:

docker-compose build --no-cache
docker-compose up

🚨 Troubleshooting

"NEWS_API_KEY não configurada"

  • Verifique se o arquivo .env existe
  • Confirme que a chave está correta
  • Reinicie os containers

"Nenhuma notícia encontrada"

  • Tente um tema mais específico
  • Verifique se há notícias recentes sobre o tema
  • A API tem limite de 100 requisições/dia na versão gratuita

Frontend não carrega

  • Verifique se a porta 8000 está livre
  • Confirme que o container está executando
  • Limpe cache do navegador

📚 Tecnologias

  • Backend: FastAPI (Python)
  • Frontend: HTML5, CSS3, JavaScript (Vanilla)
  • API: NewsAPI.org
  • Container: Docker
  • Orquestração: Docker Compose

📝 Próximos Passos

  • Adicionar filtros por data
  • Suporte a múltiplos idiomas
  • Cache de resultados
  • Exportar para PDF
  • Favoritar notícias
  • Compartilhar nas redes sociais

📄 License

MIT License - veja LICENSE para detalhes.

About

LangChain News API with Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published