Skip to content

Limit-sest/Frostline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

342baf9 · · Dec 1, 2025

History

39 Commits
Nov 28, 2025
Nov 24, 2025
Nov 30, 2025
Nov 25, 2025
Nov 28, 2025
Dec 1, 2025
Nov 30, 2025
Nov 25, 2025
Nov 24, 2025

Repository files navigation

Frostline

A real-time collaborative pixel art whiteboard built with vanilla HTML, CSS, JS, and Socket.IO.

Features

  • Real-time Collaboration: Multiple users can draw simultaneously with instant synchronization
  • Drawing Tools:
    • Pen - Draw freehand pixel art
    • Eraser - Remove pixels
    • Line - Draw straight lines between two points
    • Bucket Fill - Fill connected areas with color
  • Brush Sizes
  • Different colors
  • Stickers: Use pre-made drawings

Tech Stack

  • Backend: Node.js with Express and Socket.IO
  • Frontend: Vanilla JS with HTML5 Canvas

Installation

  1. Clone the repository:
git clone [email protected]:Limit-sest/Frostline.git

cd Frostline
  1. Install dependencies:
bun install

Usage

  1. Start the backend server:
bun run index.ts

The server will start on http://localhost:3000 also serving the html client

  1. For development with hot reload, you can use Vite with bunx vite

How It Works

  • Server (index.ts):

    • Handles WebSocket connections via Socket.IO
    • Maintains canvas state in memory
    • Broadcasts pixel changes to all connected clients
    • Syncs new clients with current canvas state
  • Client (index.html):

    • HTML5 Canvas for rendering
    • Drawing with tools
    • WebSocket client for communication
    • Optimized batch updates

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published