pure stack
This commit is contained in:
60
README.md
60
README.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user