Este projeto é um chat em tempo real desenvolvido com Ruby on Rails 7, Stimulus e ActionCable.
(se o videos n carregar basta ir a pasta video/freechat.mp4 para assistir)
- Ruby on Rails 7
- ActionCable (WebSockets)
- Stimulus (para interatividade no frontend)
- PostgreSQL (ou outro banco de dados de sua escolha)
- Tailwind CSS (opcional, para estilização)
- Ruby >= 3.0
- Rails >= 7.0
- Node.js & Yarn
- Redis (para gerenciar as conexões WebSocket)
- PostgreSQL ou SQLite3 (padrão do Rails)
- Clone o repositório:
git clone https://github.com/seu-usuario/chat-app.git cd chat-app
- Instale as dependências:
bundle install yarn install
- Configure o banco de dados:
rails db:create db:migrate
- Inicie o servidor Redis (se necessário):
redis-server
- Inicie o servidor Rails:
rails s
- Acesse o projeto no navegador:
http://localhost:3000
app/channels/chat_channel.rb
: Gerencia a comunicação em tempo real via WebSockets.app/javascript/controllers/chat_controller.js
: Controlador Stimulus para interação com a interface do chat.app/models/message.rb
: Model que representa as mensagens enviadas no chat.app/views/messages/_message.html.erb
: Partial para exibir mensagens individuais.
- Usuários podem enviar mensagens em tempo real.
- As mensagens são armazenadas no banco de dados.
- ActionCable transmite as mensagens para todos os usuários conectados.
- Stimulus é usado para manipular a UI e exibir novas mensagens instantaneamente.
Sinta-se à vontade para abrir issues e pull requests para melhorias no projeto.
Este projeto está disponível sob a licença MIT.
Autor: Seu Nome