Skip to content

Commit 967a68e

Browse files
Add chat app
1 parent f7ed68f commit 967a68e

7 files changed

Lines changed: 1245 additions & 0 deletions

File tree

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules/
2+
.env
3+
.DS_Store

chat-app/backend/index.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
const express = require("express");
2+
const cors = require("cors");
3+
4+
const app = express();
5+
const port = process.env.PORT || 3000;
6+
7+
app.use(cors());
8+
app.use(express.json());
9+
10+
let messages = [];
11+
12+
app.get("/", (req, res) => {
13+
res.json({ status: "Chat backend is running" });
14+
});
15+
16+
app.get("/messages", (req, res) => {
17+
res.json(messages);
18+
});
19+
20+
app.post("/messages", (req, res) => {
21+
const { name, text } = req.body;
22+
23+
if (!name || !text) {
24+
return res.status(400).json({ error: "Name and message are required." });
25+
}
26+
27+
const message = {
28+
id: Date.now(),
29+
name,
30+
text,
31+
likes: 0,
32+
createdAt: new Date().toISOString(),
33+
};
34+
35+
messages.push(message);
36+
res.status(201).json(message);
37+
});
38+
39+
app.post("/messages/:id/like", (req, res) => {
40+
const id = Number(req.params.id);
41+
const message = messages.find((item) => item.id === id);
42+
43+
if (!message) {
44+
return res.status(404).json({ error: "Message not found." });
45+
}
46+
47+
message.likes += 1;
48+
res.json(message);
49+
});
50+
51+
app.listen(port, () => {
52+
console.log(`Chat backend listening on port ${port}`);
53+
});

0 commit comments

Comments
 (0)