Uma aplicação web para gerenciar listas de compras de forma inteligente, utilizando IA para extrair informações de produtos através de fotos.
Este projeto foi desenvolvido com fins didáticos para explorar a aplicação prática de IAs no nosso cotidiano. Demonstra como podemos utilizar tecnologias modernas para simplificar tarefas comuns, como criar uma lista de compras.
A aplicação permite que o usuário:
- Tire fotos de produtos/preços
- Extraia automaticamente nome e preço usando IA
- Organize múltiplas listas de compras
- Controle gastos com limite por lista
- Acompanhe o total gasto em tempo real
- Next.js 14 - Framework React com Server Components
- TypeScript - Tipagem estática
- Tailwind CSS - Estilização
- Shadcn/ui - Componentes de UI
- Groq AI - IA para extração de texto (OCR)
- OpenAI - IA alternativa para extração
- MinIO - Armazenamento de imagens
- Zustand - Gerenciamento de estado
- Sonner - Notificações toast
- Node.js 18+
- NPM ou Yarn
- Conta na Groq AI e/ou OpenAI para as API Keys
- Servidor MinIO configurado para armazenamento
- Clone o repositório:
git clone https://github.com/antonio-abrantes/pricepiclist.ai.git
cd pricepiclist-ai
- Instale as dependências:
npm install
ou
yarn install
- Configure as variáveis de ambiente:
.env.example
GROQ_API_KEY="sua-api-key"
OPENAI_API_KEY="sua-api-key"
MINIO_ENDPOINT="seu-endpoint-minio"
MINIO_REGION="sua-regiao"
MINIO_ACCESS_KEY="sua-access-key"
MINIO_SECRET_KEY="sua-secret-key"
MINIO_BUCKET_NAME="nome-do-bucket"
GLOBAL_API_KEY="sua-api-key"
- Inicie o servidor:
npm run dev
ou
yarn dev
- Criar múltiplas listas de compras
- Definir valor máximo por lista
- Acompanhar total gasto
- Alertas de limite próximo/atingido
- Tirar foto do produto/preço
- Extração automática via IA
- Suporte a múltiplos provedores de IA
- Compressão automática de imagens
- Escolha entre Groq AI ou OpenAI
- Configuração de API Keys global ou por provedor
- Tema claro/escuro
- Persistência local dos dados
Contribuições são bem-vindas! Sinta-se à vontade para:
- Fazer fork do projeto
- Criar uma branch para sua feature (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abrir um Pull Request
Este projeto está sob a licença MIT.
Este projeto foi desenvolvido com o objetivo principal de explorar e demonstrar:
- Integração prática de IAs em aplicações web
- Uso de tecnologias modernas do ecossistema React/Next.js
- Boas práticas de desenvolvimento e arquitetura
- Gerenciamento de estado e persistência de dados no lado do cliente
- UX/UI com foco na usabilidade
- Groq AI pela API de processamento de imagens
- OpenAI pelo modelo alternativo
- Vercel pela infraestrutura
- Comunidade open-source pelas ferramentas utilizadas
- Adicionar suporte para múltiplos usuários com sistema de login
- Cadastro de perfil de usuário
- Tela de segurança para atualizar a senha
- Integração com Google Sheets para exportação de listas
- Melhorias na IA para aumentar a precisão da extração de dados
Desenvolvido com ❤️ para fins educacionais e práticos