-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
74 lines (63 loc) · 2 KB
/
server.js
File metadata and controls
74 lines (63 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
const express = require("express")
const mysql = require("mysql")
const BodyParser = require("body-parser")
const app = express();
const http = require("http")
const server = http.createServer(app)
const {Server} = require("socket.io")
const io = new Server(server)
app.use(BodyParser.urlencoded({ extended: true }))
app.set("view engine", "ejs")
app.set("views", "views")
const db = mysql.createConnection({
host: "localhost",
database: "db_siswa",
user: "root",
password: ""
})
//create db connection
db.connect((err) => {
if (err) throw err
console.log("Databse connected ...")
//for get data from database
app.get("/", (req, res) => {
const sql = "SELECT * FROM siswa"
db.query(sql, (err, result) => {
const users = JSON.parse(JSON.stringify(result))
res.render("index", {users: users, title:"Database Siswa"})
})
})
//real-time chat
app.get("/chat", (req, res) => {
res.render("chat", {
loginTitle: "MASUK FORUM",
chatroomTitle: "DISKUSI TERBUKA"
})
})
//for insert data to database
app.post("/tambah", (req, res) => {
const insertSql = `INSERT INTO siswa (nama, kelas) VALUES ('${req.body.nama}', '${req.body.kelas}');`
db.query(insertSql, (err, result) => {
if (err) throw err
res.redirect("/");
})
})
//for delete data from database
app.post("/hapus", (req, res) => {
const deleteSql = `DELETE FROM siswa WHERE nama="${req.body.hapusnama}";`
db.query(deleteSql, (err, result) => {
if (err) throw err
res.redirect("/");
})
})
})
//socket io connection and set id
io.on("connection", (socket) => {
socket.on("message", (data) => {
const { id, message } = data
socket.broadcast.emit("message", id, message)
})
})
server.listen(8000, () => {
console.log("Server ready ....")
})