Features
- Fast Backend: Written entirely in C using Mongoose.
- Retro UI: A beautiful, glowing terminal aesthetic built with Svelte & Vite.
- Real-time WebSockets: Instantaneous message delivery and live typing indicators.
- Secure: Features robust rate-limiting, cryptographically secure tokens (
/dev/urandom), and SQL injection protection.
- Room Support: Join multiple distinct chat rooms.
- Persistent Storage: All messages and accounts are safely stored in a local SQLite database.
Tech Stack
- Backend: C, Mongoose (HTTP/WS server), SQLite3
- Frontend: Svelte, Vite, Vanilla CSS
Quick Start
Prerequisites
- GCC (or equivalent C compiler)
make
- Node.js &
pnpm (for building the frontend)
Build & Run
- Install Frontend Dependencies:
make install-web
- Build the Frontend:
make frontend
- Build & Run the Server:
make run-server
- Visit:
http://localhost:8080
Development
To run the frontend dev server with hot-module replacement:
make run-web
License
This project is open-sourced under the MIT License. See the LICENSE file for details.