Skip to content

srujayreddyv/VeryFastChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VeryFastChat

VeryFastChat is a real-time chat app where anyone can create a room, share a link instantly, and keep conversations going with persistent chat history.

Anonymous use is supported by default. Sign-in is optional and adds persistent room ownership, profiles, and cross-device access.

Live Demo

  • Web: https://veryfastchat.vercel.app
  • API: https://veryfastchat-api.onrender.com

Features

Core Chat

  • Create and join rooms via shareable link — no account required
  • Real-time messaging via Supabase Realtime
  • Persistent rooms with saved chat history
  • Host moderation: lock, unlock, end room, delete messages

Accounts And Identity

  • Optional authentication with email/password and Google OAuth
  • User profiles with display name and avatar
  • "My Rooms" dashboard for authenticated users

Reliability And UX

  • Rate limiting per action (create, join, send)
  • Optional Sentry error tracking for API and web
  • PWA support with offline fallback
  • Dark / light / system theme

Architecture

Stack

Layer Tech
Web Next.js 14 (App Router, TypeScript)
API FastAPI (Python 3.11+)
Database & Realtime Supabase (Postgres + Realtime)
Auth Supabase Auth (email/password, Google OAuth)
Rate Limiting Upstash Redis (in-memory fallback)

System Diagram

flowchart LR
  U["Users"] --> W["Next.js Web App<br/>Vercel"]
  W --> A["FastAPI API<br/>Render"]
  W --> S["Supabase<br/>Auth + Realtime"]
  A --> S
  A --> R["Upstash Redis<br/>(optional)"]
Loading

Repo Layout

apps/
  web/          Next.js frontend
  api/          FastAPI backend
docs/
  blueprint.md              Architecture & data model
  deployment.md             Deployment guide (Render, Fly.io, Docker)
  production-checklist.md   Launch checklist

Project Status

  • Supabase is already provisioned and connected for this project
  • Production is live:
    • Web: https://veryfastchat.vercel.app
    • API: https://veryfastchat-api.onrender.com
  • Local verification is green:
    • Backend: 83/83 tests passing
    • Frontend: 37/37 Playwright tests passing
  • CI is configured with GitHub Actions for backend tests and frontend builds
  • Scheduled production monitoring is configured with GitHub Actions

Development

API

cd apps/api
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
cp .env.example .env   # fill in Supabase credentials + SESSION_SECRET
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Web

cd apps/web
npm install
cp .env.example .env   # fill in Supabase + API URL
npm run dev

Open http://localhost:3000

Local Shortcuts

make api   # start API with hot reload
make web   # start Next.js dev server

Testing

# Backend
cd apps/api && pip install -e ".[dev]" && pytest

# Frontend
cd apps/web && npx playwright test

CI And Monitoring

  • /.github/workflows/ci.yml
    • Runs pytest for /Users/srujayreddy/Projects/VeryFastChat/apps/api
    • Runs next build for /Users/srujayreddy/Projects/VeryFastChat/apps/web
  • /.github/workflows/monitoring.yml
    • Checks the production web app every 30 minutes
    • Checks GET /health on the production API
    • Uses only public endpoints, so no GitHub secrets are required

Deployment

Documentation

Doc Purpose
Blueprint Architecture, data model, API contract
Deployment Deploy to production
Production Checklist Pre/post-launch verification

License

This project is licensed under the MIT License. See LICENSE.

About

VeryFastChat is an anonymous, real-time chat app where anyone can create a room and instantly share a link for others to join.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors