Skip to content

Angelo-Requenha/Mini-Social-Network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Social Network

Uma rede social completa construída com Node.js, Express, MongoDB, Mongoose, JWT e Bootstrap 5. O projeto inclui autenticação, autorização, feed de posts, curtidas, comentários, perfil de usuário, upload de imagens, follow/unfollow, e interface responsiva.

Estrutura do projeto

  • backend/ - API Node.js com Express e MongoDB

    • src/config/database.js - conexão com MongoDB
    • src/controllers/ - lógica de negócios
    • src/middlewares/ - autenticação, upload, tratamento de erros
    • src/models/ - schemas do Mongoose
    • src/routes/ - endpoints REST
    • src/services/ - utilitários de autenticação
    • src/utils/ - helpers JWT e validações
    • src/uploads/ - arquivos de imagem enviados
    • seeds/seed.js - script para popular dados iniciais
  • frontend/ - interface desacoplada com HTML, CSS, Bootstrap e JavaScript

    • assets/css/ - estilos personalizados
    • assets/js/ - lógica de fetch e interface
    • pages/ - tela de login, cadastro, home, perfil e explorar

Funcionalidades

  • Cadastro e login com JWT
  • Autorização de rotas protegidas
  • Feed cronológico de posts
  • Curtidas e comentários em tempo real
  • Sistema de seguidores
  • Upload de avatar, banner e imagens de post
  • Busca de usuários e explorações
  • Interface responsiva com dark mode
  • API REST completa e modular
  • Docker e Docker Compose para backend + MongoDB

Como rodar localmente

  1. Instale dependências do backend:
cd backend
npm install
  1. Inicie o MongoDB e o backend:
npm run dev
  1. Abra o frontend com um servidor local ou Live Server apontando para frontend/.

  2. Configure variáveis de ambiente no arquivo backend/.env.

Se estiver usando o frontend via file://, prefira um servidor local para evitar problemas de CORS e garantir o carregamento correto das imagens.

Variáveis de ambiente

  • MONGO_URI - URI de conexão com MongoDB
  • JWT_SECRET - chave secreta para tokens JWT
  • JWT_EXPIRES_IN - tempo de expiração do token (ex: 7d)
  • PORT - porta do servidor backend
  • FRONTEND_URL - origem permitida para CORS

Docker

Para iniciar com Docker Compose:

docker compose up --build

Scripts úteis

  • npm start - inicia o backend
  • npm run dev - inicia backend com nodemon
  • npm run seed - popula dados iniciais no MongoDB

Credenciais de teste

Observações

A arquitetura foi planejada para ser modular, com separação clara entre rotas, controladores, serviços e modelos. O frontend consome a API via Fetch e utiliza localStorage para armazenamento do token JWT.

About

Mini social network built for learning and experimentation, featuring AI integration and a fully containerized architecture with Docker. Created to explore modern development practices, backend/frontend integration, APIs, authentication, and scalable deployment workflows.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors