iTalk é uma rede social fullstack moderna, desenvolvida com Next.js no frontend e Node.js/Express + Prisma no backend. Permite que usuários criem perfis, postem mensagens com anexos, adicionem amigos, conversem em tempo real e compartilhem experiências de forma simples e intuitiva.
O projeto nasceu com o objetivo de criar uma rede social simples, mas robusta, com foco em experiência do usuário e comunicação em tempo real. O backlog evoluiu conforme as necessidades e feedbacks:
- Cadastro e autenticação de usuários
- Criação de perfil com foto e banner
- Postagens com anexos e imagens
- Lista de amigos e busca de usuários
- Chat em tempo real entre amigos
- Feed paginado e responsivo
- Upload de arquivos e imagens
- Status online/offline
- Frontend: Next.js 14, React 18, TailwindCSS, NextAuth, TypeScript
- Backend: Node.js, Express, Prisma ORM, PostgreSQL, Multer, Bcrypt, Zod
- Outros: Vercel (deploy), Docker (opcional), ESLint
- Cadastro e login de usuários com senha criptografada (Bcrypt)
- Autenticação via NextAuth (JWT)
- Logout e status online/offline
- Edição de perfil, foto e banner
- Sobre mim editável
- Visualização de perfis de outros usuários
- Feed paginado com posts de amigos e do usuário
- Postagens com texto, imagens e anexos
- Localização e humor nas postagens
- Adição e remoção de amigos
- Busca de usuários por nome
- Listagem de amigos
- Chat privado entre amigos
- Histórico de mensagens
- Status online dos amigos
- Frontend: Deploy no Vercel (https://italk-zeta.vercel.app)
- Backend: Deploy no Vercel (serverless) ou servidor Node tradicional
- Node.js 18+
- PostgreSQL (ou Docker)
- Yarn ou npm
-
Clone o repositório:
git clone https://github.com/guilhermevnbraga/iTalk.git cd iTalk
-
Configure o banco de dados:
- Crie um banco PostgreSQL local ou use Docker.
- Copie
.env.example
para.env
emitalkserver/
e preencha as variáveis.
-
Instale as dependências:
cd italkserver npm install npx prisma generate npx prisma migrate dev cd ../italk npm install
-
Rode o backend:
cd ../italkserver npm run server
-
Rode o frontend:
cd ../italk npm run dev
-
Acesse no navegador:
http://localhost:3000
/user
- Cadastro, login, logout, perfil, busca, edição/post
- Criar post, listar posts/friend
- Adicionar, remover, listar amigos/message
- Enviar e buscar mensagens
/
- Landing page/account/login
- Login/account/register
- Cadastro/home
- Feed principal/[username]
- Perfil do usuário/[username]/chat
- Chat com usuário