You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Exercises to practice and solidify your understanding of the Decomposition module of the Software Development Course.
4
+
5
+
---
6
+
7
+
# Beeko Chat App
8
+
9
+
A real-time chat application where users can send and receive messages instantly without refreshing the page.
10
+
11
+
## Project Structure
12
+
13
+
```
14
+
chat-app/
15
+
client/ - Vite + React + TypeScript frontend
16
+
server/ - Node.js + Express backend
17
+
```
18
+
19
+
## Features
20
+
21
+
- Send a message to the chat
22
+
- See all messages when opening the chat
23
+
- New messages appear instantly for all connected users
24
+
- Message count display
25
+
- Username persisted across sessions
26
+
27
+
## How It Works
28
+
29
+
The frontend loads existing messages from the server on page load via a REST API. When a user sends a message, it is posted to the server which saves it and broadcasts it to all connected clients over a WebSocket channel. Every connected user receives the new message instantly without needing to refresh.
30
+
31
+
## Getting Started
32
+
33
+
**Backend**
34
+
```bash
35
+
cd server
36
+
npm install
37
+
node index.js
38
+
```
39
+
40
+
**Frontend**
41
+
```bash
42
+
cd client
43
+
npm install
44
+
npm run dev
45
+
```
46
+
47
+
## Deployment
48
+
49
+
- Backend is deployed as a Docker container
50
+
- Frontend is deployed as a static site via Nixpacks
0 commit comments