pure stack

This commit is contained in:
2025-12-13 21:51:09 +11:00
parent 8fc563334e
commit 61b00555cc

View File

@@ -1,2 +1,60 @@
# rat-chat
# Rat Chat 🐀
**The Pure TypeScript Chat Application**
Rat Chat is a modern, real-time messaging application built on the **PURE STACK** concept: using **TypeScript** across the entire codebase to ensure type safety, consistency, and developer velocity from the database to the DOM.
## 🚀 The PURE STACK Architecture
This project strictly adheres to a unified TypeScript ecosystem:
- **Backend**: [Bun](https://bun.sh) + [ElysiaJS](https://elysiajs.com)
- High-performance runtime and framework.
- End-to-end type safety with automatic OpenAPI generation.
- Native WebSocket support.
- **Frontend**: [Vite](https://vitejs.dev) + [React](https://react.dev) + [TypeScript](https://www.typescriptlang.org)
- Fast HMR (Hot Module Replacement).
- Strict typing for components and state.
- Shared interfaces with the backend.
## 🛠️ Getting Started
### Prerequisites
- [Bun](https://bun.sh) (Runtime for both backend and frontend tooling)
### Installation
1. **Clone the repository**
```bash
git clone https://gitea.ratland.dev/rat-chat.git
cd rat-chat
```
2. **Setup Backend**
```bash
cd backend/app
bun install
bun dev
```
*Server runs on `http://localhost:8080`*
3. **Setup Frontend**
```bash
cd frontend/app
bun install
bun dev
```
*Client runs on `http://localhost:5173`*
## 📦 Project Structure
```
rat-chat/
├── backend/app/ # ElysiaJS Server (API & WebSockets)
├── frontend/app/ # React Client
└── AGENTS.md # Instructions for AI Agents
```
## 🤝 Contributing
We welcome contributions that stick to the **PURE STACK** philosophy. Keep it typed, keep it fast.