Locked Initial release

Open

Added

Core forum

  • Flat-file architecture — all content stored as JSON files, no database required
  • Projects as top-level containers, each with five boards: dev log, general, bugs, features, and releases
  • Thread creation with title, body, optional tags, and status
  • Threaded post replies with full Markdown support (via marked)
  • Post editing for authors and the owner
  • Post and thread deletion (owner only)
  • Pin threads to keep them at the top of the board
  • Lock threads to prevent further replies
  • Thread status tracking — bugs: open / confirmed / fixed / won't fix · features: open / planned / shipped
  • Board stats (thread count, post count, last post time and author) auto-updated on every write

Users and auth

  • Registration and login with bcrypt-hashed passwords
  • Session-based auth via express-session
  • First registered user automatically becomes the owner
  • Role system: owner (full admin) and member
  • User post count tracked and incremented on each post

User profiles

  • Profile pages at /users/:username
  • Avatar upload (JPG, PNG, GIF, WebP — max 2MB) via multer
  • Bio field (max 300 characters)
  • Recent activity feed showing last 10 posts across all projects

Search

  • Full-text search across all thread titles and post bodies
  • Search bar in the site header on every page
  • Dedicated search page at /search
  • Results sorted by most recent activity

RSS feeds

  • Site-wide feed at /feed — 20 most recent posts across all projects
  • Per-project feed at /feed/:projectId
  • Auto-discovery <link> tag in every page <head>

Projects

  • Create, edit, and manage projects (owner only)
  • Project status: active, paused, archived
  • Tag support with comma-separated input
  • URL slugs auto-generated from project title via slugify
  • nanoid (length 10) used for thread folder names — URL-safe, collision-resistant

Design

  • Dark terminal aesthetic with IBM Plex Mono and Inter
  • Fully responsive down to mobile
  • prefers-reduced-motion respected
  • Status dot indicators on thread lists
  • Breadcrumb navigation on all sub-pages

Infrastructure

  • dotenv for environment config — PORT and SESSION_SECRET via .env
  • fs-extra for safe atomic JSON reads/writes
  • Data directory auto-created on first run
  • .gitignore set up — node_modules, .env, and public/uploads excluded

Dependencies

Package Version Purpose
express ^5.2.1 HTTP server and routing
ejs ^6.0.1 Server-side templating
express-session ^1.19.0 Session management
bcrypt ^6.0.0 Password hashing
nanoid ^3.3.16 Thread ID generation
marked ^18.0.7 Markdown rendering
fs-extra ^11.3.6 Enhanced file system helpers
slugify ^1.6.9 Project URL slug generation
multer ^2.2.0 Avatar file uploads
dotenv ^17.4.2 Environment variable loading