Skip to content

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nullroom

Realtime public/private chat rooms built with FastAPI WebSockets and SvelteKit.


Why I built this

Nullroom is a realtime chat-room platform designed around temporary rooms, simple joining, user presence, and fast message delivery.


Features

  • Public and private rooms
  • Room creation and joining
  • Room capacity limits
  • Realtime WebSocket messaging
  • User presence
  • Host-based room ownership
  • Message status handling
  • SvelteKit frontend
  • FastAPI backend

Tech Stack

Backend:

  • Python
  • FastAPI
  • Pydantic

Frontend:

  • SvelteKit
  • TypeScript
  • TailwindCSS
  • Vite

Architecture

Frontend connects to the FastAPI backend through a WebSocket endpoint. The backend manages active users, rooms, room membership, and message broadcasting in memory.


Screenshots

image image image image

WebSocket Events

Event Direction Description
join_room Client -> Server Join an existing room
create_room Client -> Server Create a room
send_chat_message Client -> Server Send message
room_joined Server -> Client Confirms room joined
user_joined Server -> Client Broadcasts user joined
user_left Server -> Client Broadcasts user left
message_sent Server -> Client Broadcasts chat message

Run Locally

Backend

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
fastapi run

Frontend

cd frontend
npm install
npm run dev
npx vite --host 0.0.0.0 --port 5173

Limitations

  • Rooms are stored in memory
  • Messages are not persisted
  • Designed as a realtime architecture/demo project

Roadmap

  • Host moderation actions
  • Deployment

About

Disposable chat rooms that leave no trace. Create a room, share the link, chat, and when everyone leaves, it's gone forever.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages