Uma plataforma inovadora para lives e streamings que permite criar salas de perguntas interativas com suporte a IA. O projeto visa dar "superpoderes" a projetos como o "Let Me", oferecendo uma experiência aprimorada para criadores de conteúdo e suas audiências.
O Letmeask Plus AI é uma aplicação web que permite:
- Criação de salas de perguntas para lives e streamings
- Envio de perguntas pela audiência em tempo real
- Agente de IA responsável por prever e sugerir respostas baseadas na transcrição da live stream
- Interface moderna e responsiva para uma experiência fluida
- Runtime: Node.js com TypeScript
- Framework: Fastify (alta performance e baixa latência)
- Banco de Dados: PostgreSQL com pgvector (para operações vetoriais)
- ORM: Drizzle ORM (type-safe e performático)
- Validação: Zod (schema validation)
- CORS: @fastify/cors
- Linting: Biome
- Containerização: Docker & Docker Compose
- Framework: React 19 com TypeScript
- Build Tool: Vite (desenvolvimento rápido)
- Styling: Tailwind CSS v4
- Roteamento: React Router DOM
- Estado: TanStack Query (React Query)
- UI Components: Radix UI + Lucide React
- Utilitários: clsx, class-variance-authority, tailwind-merge
- Linting: Biome
letmeask-plus-ai/
├── server/ # Backend API
│ ├── src/
│ │ ├── db/ # Configuração do banco de dados
│ │ │ ├── schema/ # Schemas Drizzle
│ │ │ └── migrations/
│ │ ├── http/ # Rotas da API
│ │ └── server.ts # Servidor Fastify
│ ├── docker/ # Configuração Docker
│ └── package.json
├── web/ # Frontend React
│ ├── src/
│ │ ├── components/ # Componentes React
│ │ ├── pages/ # Páginas da aplicação
│ │ └── lib/ # Utilitários
│ └── package.json
└── README.md
- Node.js 18+
- Docker e Docker Compose (v28.2.2)
- PostgreSQL 12+ (via Docker)
-
Clone o repositório
git clone <repository-url> cd letmeask-plus-ai/server
-
Instale as dependências
npm install
-
Configure as variáveis de ambiente
# Crie um arquivo .env na pasta server/ cp .env.example .envConfigure as seguintes variáveis:
PORT=3333 DATABASE_URL=postgresql://docker:docker@localhost:5432/agents
📌Obs.: Talvez seja necessário criar um usuário com nome
dockere com a senhadockerno PostgreSQL. -
Inicie o banco de dados com Docker
docker-compose up -d
-
Execute as migrações do banco
npx drizzle-kit migrate
-
(Opcional) Popule o banco com dados de exemplo
npm run db:seed
-
Inicie o servidor
# Desenvolvimento npm run dev # Produção npm start
O servidor estará disponível em http://localhost:3333
-
Navegue para a pasta web
cd ../web -
Instale as dependências
npm install
-
Inicie o servidor de desenvolvimento
npm run dev
-
Para build de produção
npm run build npm run preview
O frontend estará disponível em http://localhost:5173
- Arquitetura: API REST com Fastify
- Validação: Schemas Zod para type safety
- Banco de Dados: Drizzle ORM com PostgreSQL
- Estrutura: Organização por funcionalidades (routes, db, etc.)
- Linting: Biome para formatação e linting
- Arquitetura: Componentes React funcionais
- Roteamento: React Router para navegação
- Estado: TanStack Query para cache e sincronização
- Styling: Tailwind CSS com utilitários
- Componentes: Radix UI para acessibilidade
O projeto utiliza PostgreSQL com pgvector para operações vetoriais, ideal para funcionalidades de IA:
- Tabela
rooms: Armazena informações das salas de perguntas - Campos: id (UUID), name, description, createdAt
- Extensões: pgvector para embeddings vetoriais
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'feat: add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
⭐ Se este projeto te ajudou, considere dar uma estrela!