Skip to content

coding-pirates-denmark/guides-web-socket-io-01-simpel-chat-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

guides-web-socket-io-01-simpel-chat-app

Lav din første chat‑app med Socket.IO

Velkommen til den første rigtige Socket.IO‑guide! 🎉

I dette projekt laver du en helt simpel chat‑app, hvor flere brugere kan skrive sammen i realtid via deres browser.

Det kræver kun:

  • Node.js (fra 00-getting-started-guiden)
  • En kodeeditor (fx Visual Studio Code)
  • En webbrowser

🎯 Hvad du lærer i denne guide

Du kommer til at:

  • sætte en lille Node.js‑server op
  • bruge Socket.IO til at skabe forbindelse mellem server og browser
  • sende beskeder frem og tilbage i realtid
  • vise beskeder i browseren

Det er “Hello World” for realtids‑programmering!

📁 1. Opret et nyt projekt

Åbn en terminal og skriv:

mkdir simpel-chat-app
cd simpel-chat-app
npm init -y

Dette opretter en ny mappe og en package.json fil.


📦 2. Installer de nødvendige pakker

npm install express socket.io
  • Express er en lille webserver
  • Socket.IO giver dig realtids-kommunikation

🖥️ 3. Lav serveren

Opret en fil der hedder server.js med denne kode:

const express = require("express");
const app = express();
const http = require("http").createServer(app);
const io = require("socket.io")(http);

app.use(express.static("public"));

io.on("connection", (socket) => {
  console.log("En bruger forbundet");

  socket.on("chatMessage", (msg) => {
    io.emit("chatMessage", msg);
  });
});

http.listen(3000, () => {
  console.log("Server kører på http://localhost:3000");
});

🌐 4. Lav klienten (browser-siden)

Opret en mappe der hedder public.

Inde i den: lav en fil index.html med denne kode:

<!DOCTYPE html>
<html lang="da">
<head>
  <meta charset="UTF-8" />
  <title>Simpel Chat</title>
</head>
<body>
  <h1>💬 Simpel Chat</h1>

  <ul id="messages"></ul>

  <form id="form">
    <input id="input" autocomplete="off" placeholder="Skriv en besked..." />
    <button>Send</button>
  </form>

  <script src="/socket.io/socket.io.js"></script>
  <script>
    const socket = io();
    const form = document.getElementById("form");
    const input = document.getElementById("input");
    const messages = document.getElementById("messages");

    form.addEventListener("submit", (e) => {
      e.preventDefault();
      if (input.value) {
        socket.emit("chatMessage", input.value);
        input.value = "";
      }
    });

    socket.on("chatMessage", (msg) => {
      const item = document.createElement("li");
      item.textContent = msg;
      messages.appendChild(item);
    });
  </script>
</body>
</html>

🚀 5. Start serveren

I terminalen:

node server.js

Åbn derefter:

👉 http://localhost:3000

Åbn gerne to browser-vinduer for at se chatten kommunikere live!

🙌 6. Du har nu bygget din første realtids-app!

Godt gået!

Du har nu en lille chat‑app der kan:

  • forbinde flere brugere
  • sende beskeder i realtid
  • vise dem i browseren

Du har nu fundamentet på plads til næste guide (hvis den findes ...

❓ Brug for hjælp?

Hvis noget driller:

  • spørg en frivillig
  • eller opret et issue i repoet

God kodning — og rigtig god pirat‑energi! ⚓💻

About

Guide om, hvordan man koder en simpel chat app med socket.io

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors