AnomTalk é um aplicativo de chat anônimo moderno que permite aos usuários criar salas de conversas temporárias através de URLs únicas e aleatórias. Sem necessidade de cadastro, login ou qualquer informação pessoal - apenas entre e comece a conversar!
- 🔒 Totalmente Anônimo - Sem cadastros ou dados pessoais
- ⚡ Tempo Real - Mensagens instantâneas com Socket.io
- 🎲 URLs Aleatórias - Cada sala tem um ID único gerado automaticamente
- 🌙 Interface Moderna - Design dark com tema roxo elegante
- 📱 Responsivo - Funciona perfeitamente em todos os dispositivos
- 🚀 Rápido - Construído com Next.js 15 e Turbopack
- Next.js 15 - Framework React com App Router
- TypeScript - Tipagem estática para JavaScript
- Tailwind CSS 4 - Framework CSS utilitário
- Lucide React - Ícones SVG otimizados
- Socket.io Client - Comunicação em tempo real
- Express.js - Servidor web Node.js
- Socket.io - WebSockets para chat em tempo real
- CORS - Configuração de Cross-Origin Resource Sharing
- Nanoid - Gerador de IDs únicos e seguros
- ESLint - Linting de código
- Concurrently - Execução paralela de scripts
- PostCSS - Processamento de CSS
- Node.js 18+
- npm ou yarn
-
Clone o repositório
git clone https://github.com/puuertA/anomtalk.git cd anomtalk -
Instale as dependências
npm install
-
Configure as variáveis de ambiente (opcional)
# Copie o arquivo de exemplo cp .env.example .env.local # Edite .env.local se necessário # As configurações padrão já funcionam para desenvolvimento local
-
Execute o projeto
# Inicia frontend e backend simultaneamente npm run dev:full -
Acesse a aplicação
- Frontend: http://localhost:3000
- Backend: http://localhost:3001
# Desenvolvimento
npm run dev # Apenas frontend (Next.js)
npm run dev:server # Apenas backend (Socket.io)
npm run dev:full # Frontend + Backend simultaneamente
# Produção
npm run build # Build do frontend
npm start # Inicia frontend em produção
npm run start:server # Inicia backend em produção
# Qualidade de código
npm run lint # Executa ESLintO projeto usa variáveis de ambiente para configuração. Copie .env.example para .env.local:
cp .env.example .env.localVariáveis disponíveis:
| Variável | Descrição | Padrão |
|---|---|---|
NEXT_PUBLIC_SOCKET_URL |
URL do servidor Socket.io | http://localhost:3001 |
FRONTEND_URL |
URL do frontend (para CORS) | http://localhost:3000 |
Para produção, configure as URLs corretas:
NEXT_PUBLIC_SOCKET_URL=https://seu-backend.herokuapp.com
FRONTEND_URL=https://sua-aplicacao.vercel.appanomtalk/
├── 📁 src/
│ ├── 📁 app/
│ │ ├── 📄 globals.css # Estilos globais
│ │ ├── 📄 layout.tsx # Layout principal
│ │ ├── 📄 page.tsx # Página inicial
│ │ └── 📁 chat/
│ │ └── 📁 [roomId]/
│ │ └── 📄 page.tsx # Página do chat
│ └── 📁 lib/
│ └── 📄 utils.ts # Utilitários
├── 📁 server/
│ └── 📄 index.js # Servidor Socket.io
├── 📁 public/ # Assets estáticos
├── 📄 package.json # Dependências
├── 📄 next.config.ts # Configuração Next.js
├── 📄 tailwind.config.js # Configuração Tailwind
└── 📄 tsconfig.json # Configuração TypeScript
- Tema: Dark mode com paleta roxa (#8b5cf6)
- Tipografia: Fontes system para melhor performance
- Responsividade: Mobile-first design
- Animações: Transições suaves e feedback visual
- Acessibilidade: Componentes com foco em UX
- Criação de Sala: O usuário clica em "Criar Sala" na página inicial
- Geração de ID: Um ID único é gerado usando nanoid
- Redirecionamento: O usuário é redirecionado para
/chat/[roomId] - Conexão WebSocket: Estabelece conexão em tempo real via Socket.io
- Chat: Troca de mensagens instantâneas e anônimas
# Instale a CLI da Vercel
npm i -g vercel
# Deploy
vercelO backend pode ser hospedado em plataformas como:
- Railway
- Render
- Heroku
- DigitalOcean
- 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
- Salas com senha opcional
- Limite de participantes por sala
- Histórico temporário de mensagens
- Reactions/emojis nas mensagens
- Notificações de entrada/saída
- Modo claro/escuro toggle
- Compartilhamento de arquivos/imagens
- Mensagens temporárias (auto-delete)
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Lucas - @puuertA
Desenvolvido com ❤️ e ☕