Skip to content

Commit e9636f9

Browse files
committed
Intital commit for DEVEACH TEAM!
0 parents  commit e9636f9

File tree

9 files changed

+142
-0
lines changed

9 files changed

+142
-0
lines changed

.env.example

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
SITE_URL=http://localhost:3000

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules/
2+
package-lock.json
3+
.env

index.js

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
require('dotenv').config();
2+
3+
const express = require('express');
4+
var app = express();
5+
6+
app.locals.SITE_URL = process.env.SITE_URL;
7+
8+
app.use(express.static('public'));
9+
app.set('view engine', 'ejs');
10+
11+
app.get('/', (req,res) => {
12+
res.render('index');
13+
})
14+
15+
16+
17+
const server = app.listen(process.env.PORT || 3000);
18+
19+
20+
const io = require('socket.io')(server);
21+
22+
23+
24+
io.on('connection', (socket) => {
25+
26+
socket.on('message', (data) => {
27+
io.sockets.emit('message', data);
28+
})
29+
30+
});
31+
32+
33+

package.json

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"name": "chat.deveach.team",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"start": "node index.js"
8+
},
9+
"author": "",
10+
"license": "ISC",
11+
"dependencies": {
12+
"dotenv": "^8.2.0",
13+
"ejs": "^3.1.3",
14+
"express": "^4.17.1",
15+
"socket.io": "^2.3.0"
16+
}
17+
}

public/assets/css/style.css

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.textarea-container {
2+
position: relative;
3+
}
4+
.textarea-container textarea {
5+
width: 50%;
6+
height: 100%;
7+
box-sizing: border-box;
8+
}
9+
.textarea-container button {
10+
position: absolute;
11+
top: 0;
12+
height: 90%;
13+
14+
}

public/assets/js/jquery.min.js

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/assets/js/main.js

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
const socket = io(SITE_URL);
2+
let message = $('#message');
3+
4+
socket.on('message', (data) => {
5+
$('#messages').append(`<p>${data.message}</p>`);
6+
});
7+
8+
9+
$('#sendMessage').click(function () {
10+
if (message.val().replace(/ /g, '') === '') return;
11+
socket.emit('message', {message: message.val()})
12+
message.val('');
13+
})
14+
15+
$(document).on('keypress',function(e) {
16+
if(e.which !== 13) return;
17+
$('#sendMessage').click();
18+
setTimeout(() => {
19+
message.val('');
20+
}, 10);
21+
22+
});

public/assets/js/socket.io.js

+9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

views/index.ejs

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Deveach Chat!</title>
7+
<link rel="stylesheet" href="<%= locals.SITE_URL%>/assets/css/style.css">
8+
</head>
9+
10+
11+
12+
<body>
13+
14+
<div id="messages">
15+
<p>Hello guys, i am sample message!</p>
16+
</div>
17+
18+
<hr>
19+
20+
<div class="textarea-container">
21+
<textarea id="message" placeholder="Some content here..."></textarea>
22+
<button id="sendMessage">Send</button>
23+
</div>
24+
25+
26+
<script>
27+
const SITE_URL = "<%= locals.SITE_URL%>";
28+
</script>
29+
<script type="text/javascript" src="<%= locals.SITE_URL%>/assets/js/jquery.min.js"></script>
30+
<script type="text/javascript" src="<%= locals.SITE_URL%>/assets/js/socket.io.js"></script>
31+
<script src="<%= locals.SITE_URL%>/assets/js/main.js"></script>
32+
33+
34+
35+
</body>
36+
37+
38+
39+
40+
41+
</html>

0 commit comments

Comments
 (0)