diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 0000000..e44a38e
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+v18.12.1
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..5c1783b
--- /dev/null
+++ b/index.html
@@ -0,0 +1,48 @@
+
+
+
+ Socket.IO chat
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.js b/index.js
new file mode 100644
index 0000000..20deba5
--- /dev/null
+++ b/index.js
@@ -0,0 +1,26 @@
+const express = require('express');
+const app = express();
+const http = require('http');
+const server = http.createServer(app);
+const { Server } = require("socket.io");
+const io = new Server(server);
+
+app.get('/', (req, res) => {
+ res.sendFile(__dirname + '/index.html');
+});
+
+io.on('connection', (socket) => {
+ console.log('a user connected');
+
+ socket.on('disconnect', () => {
+ console.log('user disconnected');
+ });
+
+ socket.on('chat message', (msg) => {
+ io.emit('chat message', msg);
+ });
+});
+
+server.listen(3000, () => {
+ console.log('listening on *:3000');
+});
\ No newline at end of file
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 0000000..b413e10
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,5 @@
+/** @type {import('ts-jest').JestConfigWithTsJest} */
+module.exports = {
+ preset: 'ts-jest',
+ testEnvironment: 'node',
+};
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..b87910a
--- /dev/null
+++ b/package.json
@@ -0,0 +1,41 @@
+{
+ "name": "yaman",
+ "version": "1.0.0",
+ "description": "The thread-based social network",
+ "main": "index.js",
+ "directories": {
+ "doc": "docs"
+ },
+ "scripts": {
+ "start": "node index.js",
+ "test": "jest"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/AlexRuiz7/CC.git"
+ },
+ "keywords": [
+ "social",
+ "network",
+ "twitter",
+ "discord"
+ ],
+ "author": "Alejandro Ruiz Becerra",
+ "license": "GPL-3.0-or-later",
+ "bugs": {
+ "url": "https://github.com/AlexRuiz7/CC/issues"
+ },
+ "homepage": "https://github.com/AlexRuiz7/CC#readme",
+ "engines": {
+ "npm": ">=8.0.0",
+ "node": ">=18.0.0"
+ },
+ "dependencies": {
+ "express": "^4.18.2",
+ "socket.io": "^4.5.4"
+ },
+ "devDependencies": {
+ "jest": "^29.3.1",
+ "ts-jest": "^29.0.3"
+ }
+}
diff --git a/test/sum.js b/test/sum.js
new file mode 100644
index 0000000..6fb269a
--- /dev/null
+++ b/test/sum.js
@@ -0,0 +1,4 @@
+function sum(a, b) {
+ return a + b;
+}
+module.exports = sum;
\ No newline at end of file
diff --git a/test/sum.test.js b/test/sum.test.js
new file mode 100644
index 0000000..df0dd09
--- /dev/null
+++ b/test/sum.test.js
@@ -0,0 +1,5 @@
+const sum = require('./sum');
+
+test('adds 1 + 2 to equal 3', () => {
+ expect(sum(1, 2)).toBe(3);
+});
\ No newline at end of file