Aplicativo completo de consultas esotéricas com IA
Open Tarot é uma plataforma web moderna e interativa que combina a sabedoria milenar do Tarot com a tecnologia de Inteligência Artificial, oferecendo interpretações personalizadas e experiências místicas únicas.
- Consultas Personalizadas: Faça perguntas específicas e receba interpretações detalhadas
- Tiragem de 3 Cartas: Sistema tradicional de leitura (passado, presente, futuro)
- Interpretação com IA: Powered by Google Gemini AI para interpretações contextualizadas
- Histórico Completo: Salve e revise todas suas consultas anteriores
- Mapa Astral Completo: Cálculo automatizado baseado em data, hora e local de nascimento
- Visualização Interativa: Interface moderna para explorar casas, planetas e aspectos
- Integração com Consultas: Interpretações de Tarot considerando perfil astrológico
- Análise com IA: Interpretação detalhada dos símbolos e significados dos sonhos
- Interface Intuitiva: Sistema simples para descrever e analisar sonhos
- Resgate Diário: Uma ficha gratuita a cada 24 horas
- Gestão Inteligente: Controle automático de uso e disponibilidade
- Integração com Pagamentos: Sistema Stripe para aquisição de fichas adicionais
- Sistema de Notícias: Artigos sobre esoterismo, astrologia e autoconhecimento
- Editor Avançado: Ferramenta completa para criação de conteúdo (apenas administradores)
- Categorização: Sistema de tags e filtros para organização
- Banners Amazon: Integração com Amazon PA-API para produtos relacionados
- Cache Inteligente: Otimização de performance com cache de 24h
- Afiliação: Sistema de links de afiliado para monetização
- React 19 - Framework principal
- TypeScript - Tipagem estática
- Vite - Build tool e desenvolvimento
- React Router - Roteamento SPA
- CSS Modules - Estilização componentizada
- Firebase
- Authentication (Email/Senha + Google OAuth)
- Firestore Database
- Hosting
- Google Gemini AI - Interpretações de IA
- Render - Hospedagem das APIs
- Amazon PA-API - Produtos e afiliação
- Token Manager API - Gestão de fichas
- Astrology API - Cálculos astrológicos
- Google Maps - Geolocalização para mapas astrais
- Stripe - Processamento de pagamentos
react-firebase-hooks- Hooks para Firebase@google/generative-ai- Integração Gemini AIluxon- Manipulação de datashtml2canvas- Captura de tela para compartilhamentolucide-react- Ícones modernos
src/
├── components/ # Componentes reutilizáveis
│ ├── layout/ # Componentes de layout (Header, Footer, etc.)
│ ├── mapaAstral/ # Componentes do mapa astral
│ └── infoMaker/ # Editor de conteúdo
├── pages/ # Páginas da aplicação
├── services/ # Integrações externas
│ ├── firebase.ts # Configuração Firebase
│ └── aiEngine.ts # Integração Gemini AI
├── context/ # Context API (TokenProvider)
├── hooks/ # Custom hooks
├── types/ # Definições TypeScript
├── utils/ # Funções utilitárias
└── data/ # Dados estáticos (deck de tarot)
- Firebase Authentication com persistência local
- Guards de Rota para proteger conteúdo autenticado
- Admin Guard para funcionalidades administrativas
- Firestore Rules para controle de acesso granular
- Variáveis de Ambiente para informações sensíveis
- Validação Client-side em formulários
- Sanitização de dados de entrada
- HTTPS obrigatório em produção
// Usuários só acessam seus próprios dados
match /users/{userId}/{document=**} {
allow read, write: if request.auth != null && request.auth.uid == userId;
}
// Conteúdo público com escrita autenticada
match /pages/{document=**} {
allow read: if true;
allow write: if request.auth != null;
}- Node.js 16+
- npm ou yarn
- Conta Firebase
- Chaves de API (Gemini, Stripe, etc.)
Crie um arquivo .env na raiz:
# Firebase
VITE_FIREBASE_API_KEY=sua-api-key
VITE_FIREBASE_AUTH_DOMAIN=projeto.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=seu-projeto-id
VITE_FIREBASE_STORAGE_BUCKET=projeto.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
VITE_FIREBASE_APP_ID=1:123:web:abc123
# Google Gemini AI
VITE_GEMINI_API_KEY=sua-gemini-api-key
# APIs Externas
VITE_TOKEN_API=https://sua-token-api.onrender.com
VITE_AMZ_ADS_API=https://sua-amazon-api.onrender.com
VITE_ASTRO_API=https://sua-astro-api.onrender.com
# Administração
VITE_UUID_ADM=uuid-do-administrador
# Stripe (opcional)
VITE_STRIPE_PUBLIC_KEY=pk_live_ou_test_key# Clone o repositório
git clone https://github.com/itsManeka/open-tarot.git
cd open-tarot
# Instale dependências
npm install
# Configure Firebase
# Siga as instruções em: https://firebase.google.com/docs/web/setup
# Inicie desenvolvimento
npm run dev# Build para produção
npm run build
# Deploy Firebase (após configurar firebase-tools)
firebase deployO aplicativo utiliza um sistema de fichas para controlar o uso da IA:
- 1 ficha gratuita a cada 24 horas
- Resgate automático disponível quando expira o período
- Compra de fichas via Stripe para uso ilimitado
- API dedicada para gerenciamento (Token Manager)
- Perfil astrológico influencia interpretações
- Histórico de consultas mantém contexto
- Prompts especializados para diferentes tipos de consulta
- Temperatura de IA ajustada para criatividade e precisão
- Banners Amazon contextualizados por página
- Cache inteligente reduz chamadas à API
- Links de afiliado automatizados
- Pagamentos Stripe para fichas premium
- TypeScript para type safety
- ESLint para qualidade de código
- Componentes funcionais com hooks
- Context API para estado global
- Custom hooks para lógica reutilizável
- Mobile-first design approach
- CSS Grid e Flexbox para layouts flexíveis
- Breakpoints otimizados para diferentes dispositivos
- Touch gestures para carrosséis e navegação
- Endpoint:
/tokens/status- Status atual - Endpoint:
/tokens/claim- Resgatar ficha - Endpoint:
/tokens/use- Consumir ficha
- Endpoint:
/search- Buscar produtos - Cache: 24h no Firestore
- Afiliação: Links automáticos
- Endpoint:
/calcular- Calcular mapa astral - Geocoding: Integração Google Maps
- Dados: Planetas, casas, aspectos
Uso Não-Comercial Exclusivo
Este código é propriedade exclusiva do autor e não pode ser utilizado para fins comerciais por terceiros. O uso é restrito a:
- ✅ Estudo e aprendizado pessoal
- ✅ Contribuições via pull request
- ✅ Fork para desenvolvimento pessoal
- ❌ Uso comercial por terceiros
- ❌ Redistribuição comercial
- ❌ Venda ou licenciamento
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie 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) - Abra um Pull Request
- Mantenha a tipagem TypeScript
- Siga os padrões ESLint
- Documente novas funcionalidades
- Teste localmente antes do PR
- GitHub: @itsManeka
- Issues: Use o sistema de issues do GitHub
- Email: emanuel.ozoriodias@gmail.com
Desenvolvido com ❤️ e ✨ para conectar tecnologia e espiritualidade