Skip to content

About

A retro-style, web-based community bulletin board inspired by 1990s cable-access TV

Resources

Stars

4 stars

Watchers

2 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

Repository files navigation

Community Bulletin Board TV

A retro-style, JSON-driven community bulletin board inspired by classic cable-access TV.

A lightweight, retro-inspired Community Bulletin Board system that recreates the look and feel of classic 1990s cable-access TV displays — blinking text, stacked bands, and scrolling tickers — all editable through a web browser.

Built with plain HTML, CSS, JavaScript, and PHP. No frameworks. No database. Screenshot 2026-02-03 083548

📺 Screenshots

Community Bulletin TV is designed to feel like a classic cable-access bulletin board — bold text, simple layouts, and continuous rotation.

Welcome Screen

Welcome Screen

Programming / Announcements

Programming Screen

Upcoming Features

Coming Soon Screen


📺 What This Is

This project displays rotating “screens,” each made up of horizontal text bands and an optional scrolling ticker. It’s designed for:

  • Community centers
  • Local cable channels
  • Lobby or signage displays
  • Art projects and installations
  • Retro / lo-fi broadcast systems

Everything is edited visually via a browser-based editor and saved to a simple JSON file.


✨ Features

  • Authentic CRT-style bulletin board layout
  • Multiple rotating screens
  • Configurable screen duration
  • Stacked text bands with:
    • Color, size, alignment
    • Optional blinking
  • Smooth scrolling ticker
  • Live date & time macros
  • Web-based editor with live preview
  • JSON storage (no database required)
  • Runs well on low-power or older hardware

🗂 Project Structure

community-bulletin/
├── play.html # Public display page
├── editor.html # Editor interface
├── save.php # Saves bulletin data
├── data/
│ └── bulletin.json # All content & settings
├── js/
│ ├── bulletin.js # Display logic
│ └── editor.js # Editor logic
├── css/
│ └── bulletin.css # Shared styles
└── README.md

🚀 Getting Started

Requirements

  • Web server (Apache or NGINX)
  • PHP enabled
  • No database

Installation

  1. Copy or clone the project into your web root:
    /var/www/html/community-bulletin/
  2. Ensure PHP can write to the data directory:
  chown -R www-data:www-data data
  chmod 664 data/bulletin.json
  1. Open in your browser:
  • Display:
/community-bulletin/play.html
  • Editor:
/community-bulletin/editor.html

🧪 Demo Configuration

This repository includes a fully-featured example configuration:

The demo file showcases:

  • Multiple rotating screens
  • Band alignment (left / center / right)
  • Font sizes and colors
  • Blinking text
  • Spacing macros ({space}, {tab}, {linef})
  • Date & time macros
  • Global ticker
  • Screen rotation timing

If you want to experiment, start by editing bulletin.json and reload the play page.

🕒 Macros

Macros are placeholders in band or ticker text that update automatically.

Date & Time Macros

Defined in bulletin.json:

"macros": {
  "date": "%Y-%m-%d",
  "time": "%H:%M:%S",
  "datetime": "%Y-%m-%d %H:%M:%S"
}

Usage:

Date: {date}   Time: {time}

Macros update live on the display page.

Spacing Macros (Built-In)

These do not need to be configured:

Macro Result
{space} Single space
{tab} 3 spaces
{linef} Line break

Example:

Date:{tab}{date}{linef}Time:{tab}{time}

⏱ Screen Rotation

Screen timing is controlled globally:

"settings": {
  "screenDuration": 10
}
  • Duration is in seconds

  • Screens rotate automatically on the display page

    📜 Ticker

Ticker settings:

"ticker": {
  "speed": 40,
  "text": "COMMUNITY EVENTS • LOCAL ANNOUNCEMENTS • WEATHER ALERTS"
}
  • Speed is pixels per second

  • Ticker text supports macros

    🛠 Editor Notes

Screenshot 2026-02-03 083919
  • Editor includes a live preview
  • Changes are saved to bulletin.json
  • Preview resolves macros for readability
  • Display page updates macros in real time

🔐 Security Notes

This project assumes a trusted environment.

If exposed publicly:

  • Restrict access to editor.html
  • Protect save.php
  • Consider HTTP authentication or IP filtering

🧠 Design Philosophy

  • Simple over clever
  • Files instead of databases
  • Predictable rendering
  • Hardware-friendly
  • Nostalgia with purpose

🧭 Roadmap Ideas

  • Per-screen ticker overrides
  • Custom macro definitions
  • Transition effects
  • Editor UI enhancements
  • Authentication
  • Preset import/export

📄 License

GPL2 License Free to use, modify, and redistribute.

If you run this on a cable channel in 1996, that’s on you 😉

About

A retro-style, web-based community bulletin board inspired by 1990s cable-access TV

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages