Orkut: Integração de Mensageria e Socket
- Este é um projeto que visa reviver e modernizar a antiga e viral rede social Orkut.
- O backend foi desenvolvido utilizando Node.js, Express, Sequelize e TypeScript, e fornece APIs REST para gerenciar usuários e posts.
- O front-end foi utiizado o React-vite com typeScript.
- Para melhorar a escalabilidade e a resiliência da aplicação, foi integrada uma camada de mensageria utilizando RabbitMQ.
- A aplicação utiliza Socket.IO para comunicação em tempo real, permitindo atualizações instantâneas de posts e interações dos usuários.
- Backend: Node.js, Express, Docker, Sequelize, TypeScript
- Frontend: React-vite, TypeScript
- Autenticação: JWT
- Mensageria: RabbitMQ
- Comunicação em tempo real: Socket.IO
- Node.js (v16)
- NPM ou Yarn
- MySQL
- Docker
- Clone o Repositório
Execute o Docker Compose para iniciar a aplicação e o RabbitMQ:
docker compose up --build
- Configuração do Banco de Dados
- Todas as configuração de banco de dados entara dentro do diretório: backend/src/database/config/database
- Ao rodar o 'docker compose', toda a aplicação estará disponivel dentro do docker.'localhost:3001' para frontend e
'localhost:3000' para backend.
- Configure o .env do backend, conforme o .env.example
- A integração da mensageria permitirá uma melhor comunicação assíncrona entre os serviços, aumentando a escalabilidade e a resiliência da aplicação.
- A integração com o Socket.IO permite comunicação em tempo real, notificando os usuários instantaneamente sobre novos posts, likes e interações.