O fim da dúvida na hora de comprar!
FoundPrice é uma plataforma que compara preços de produtos em tempo real usando a API do Google Shopping, ajudando você a encontrar as melhores ofertas com segurança.
✅ Busca Inteligente - Pesquisa produtos em várias lojas brasileiras
✅ Análise de Confiabilidade - Identifica lojas seguras vs arriscadas
✅ Histórico de Preços - Visualiza variações de preço em gráfico
✅ Validador de Mercado - Detecta ofertas suspeitas (possíveis golpes)
✅ Modo Escuro - Interface adaptável para melhor experiência
- Python 3.8+
- Node.js 18+ e npm
- Conta SerpAPI (chave gratuita em https://serpapi.com/)
git clone <url-do-repositorio>
cd FoundPricecd backend
# Crie um ambiente virtual
python -m venv venv
# Ative o ambiente virtual
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
# Instale as dependências
pip install -r requirement.txt
# Configure a API Key
# Copie o arquivo .env.example para .env
copy .env.example .env # Windows
# ou
cp .env.example .env # Linux/Mac
# Edite o arquivo .env e adicione sua chave da SerpAPI:
# SERP_API_KEY=sua_chave_aquicd ../frontend
# Instale as dependências
npm installOpção 1 - Rodar do diretório raiz (Recomendado para Render):
# Ative o ambiente virtual
.\venv\Scripts\activate # Windows
# ou
source venv/bin/activate # Linux/Mac
# Rode o backend
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000Opção 2 - Rodar de dentro da pasta backend:
cd backend
.\venv\Scripts\activate # Windows
uvicorn main:app --reloadO backend estará rodando em: http://localhost:8000
Em outro terminal, no diretório frontend:
npm startO frontend estará rodando em: http://localhost:4200
- Faça push do código para o GitHub
- No Render, crie um novo Web Service
- Conecte seu repositório
- Configure:
- Build Command:
pip install -r requirements.txt - Start Command:
uvicorn backend.main:app --host 0.0.0.0 --port $PORT
- Build Command:
- Adicione a variável de ambiente:
SERP_API_KEY: sua_chave_serpapi
O arquivo render.yaml já está configurado para deploy automático!
Pode ser hospedado no Vercel, Netlify ou Render Static Site.
FoundPrice/
│
├── backend/ # API FastAPI
│ ├── main.py # Endpoints principais
│ ├── database.py # Configuração do SQLite
│ ├── database_utils.py # Funções de banco de dados
│ ├── requirement.txt # Dependências Python
│ ├── .env.example # Exemplo de variáveis de ambiente
│ └── foundprice.db # Banco de dados (criado automaticamente)
│
└── frontend/ # Interface Angular
├── src/
│ └── app/
│ ├── app.component.ts # Lógica principal
│ ├── app.component.html # Interface
│ └── app.component.css # Estilos
└── package.json # Dependências Node
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /api/search?q={produto} |
Busca produtos e salva histórico |
| GET | /api/analise-produto?q={produto} |
Retorna dados para gráfico de preços |
| GET | /api/comparar-vendas?q={produto} |
Calcula métricas e detecta ofertas suspeitas |
- FastAPI - Framework web moderno e rápido
- SQLAlchemy - ORM para banco de dados
- SQLite - Banco de dados leve
- SerpAPI - API do Google Shopping
- python-dotenv - Gerenciamento de variáveis de ambiente
- Angular 19 - Framework web moderno
- Chart.js - Gráficos interativos
- HttpClient - Requisições HTTP
- TypeScript - Tipagem estática
- Nunca commite o arquivo
.env- Ele contém sua API key! - A chave gratuita da SerpAPI tem limite de requisições
- O banco de dados é criado automaticamente no primeiro uso
- Para resetar o histórico, delete o arquivo
foundprice.db
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Este projeto é de código aberto e está disponível sob a licença MIT.
- Algumas lojas podem retornar links de redirecionamento do Google
- A validação de confiabilidade é baseada em uma lista pré-definida
Dúvidas ou sugestões? Abra uma issue no repositório!
Desenvolvido com ❤️ para ajudar você a economizar!