8000 GitHub - guilhermevnbraga/iTalk
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

guilhermevnbraga/iTalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iTalk

GitHub commit activity Último commit Tamanho do repositório Github contributors GitHub top language License

Sobre

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.

Especificação inicial

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

Tecnologias Utilizadas

  • 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

Funcionalidades

Cadastro e Autenticação

  • Cadastro e login de usuários com senha criptografada (Bcrypt)
  • Autenticação via NextAuth (JWT)
  • Logout e status online/offline

Perfil de Usuário

  • Edição de perfil, foto e banner
  • Sobre mim editável
  • Visualização de perfis de outros usuários

Feed e Postagens

  • Feed paginado com posts de amigos e do usuário
  • Postagens com texto, imagens e anexos
  • Localização e humor nas postagens

Amigos e Busca

  • Adição e remoção de amigos
  • Busca de usuários por nome
  • Listagem de amigos

Chat em Tempo Real

  • Chat privado entre amigos
  • Histórico de mensagens
  • Status online dos amigos

Deploy

Como Executar o Projeto Localmente

Pré-requisitos

  • Node.js 18+
  • PostgreSQL (ou Docker)
  • Yarn ou npm

Passos para Configuração

  1. Clone o repositório:

    git clone https://github.com/guilhermevnbraga/iTalk.git
    cd iTalk
  2. Configure o banco de dados:

    • Crie um banco PostgreSQL local ou use Docker.
    • Copie .env.example para .env em italkserver/ e preencha as variáveis.
  3. Instale as dependências:

    cd italkserver
    npm install
    npx prisma generate
    npx prisma migrate dev
    cd ../italk
    npm install
  4. Rode o backend:

    cd ../italkserver
    npm run server
  5. Rode o frontend:

    cd ../italk
    npm run dev
  6. Acesse no navegador:

    http://localhost:3000
    

Rotas Principais

Backend (italkserver)

  • /user - Cadastro, login, logout, perfil, busca, edição
  • /post - Criar post, listar posts
  • /friend - Adicionar, remover, listar amigos
  • /message - Enviar e buscar mensagens

Frontend (italk)

  • / - Landing page
  • /account/login - Login
  • /account/register - Cadastro
  • /home - Feed principal
  • /[username] - Perfil do usuário
  • /[username]/chat - Chat com usuário

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0