Skip to content

RodrigoMolinaMadrid/chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chat

A real-time chat application built with Phoenix 1.8 + LiveView. No database — all state lives in GenServer processes.

Features

  • Session-based authentication (login/logout)
  • Lobby with room list and room creation
  • Public chat rooms (multiple users)
  • Private 1:1 chats between users

Architecture

  • Lobby — room discovery via Registry; broadcasts new rooms to connected clients
  • Rooms — one GenServer per room under a DynamicSupervisor; tracks subscribers and message history
  • Private chats — reuse the same Rooms.Server, keyed by sorted usernames (e.g. "alice:bob")
  • Dead subscribers are cleaned up via Process.monitor/1

Getting started

# Install deps and build assets
mix setup

# Start the dev server (http://localhost:4000)
mix phx.server

Running tests

mix test

# Run previously failed tests
mix test --failed

Development

# Format, compile, and test
mix precommit

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors