Files
shopfloor-dashboard/README.md
cproudlock 6a9bb8c7a4 Initial commit - Shopfloor Dashboard
- Node.js Express server with MySQL integration
- Real-time event dashboard with live updates
- GE Aerospace branding and design
- Auto-refresh every 10 seconds (AJAX)
- Shows current and upcoming events (48 hour window)
- Connection status monitoring
- Optimized for TV display

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 16:17:45 -04:00

3.9 KiB

Shopfloor Dashboard

GE Aerospace West Jefferson shopfloor events and notifications dashboard.

Overview

Real-time display dashboard for showing current and upcoming events on the shopfloor. Designed for TV displays with large, readable text and GE Aerospace branding.

Features

  • Live Data Updates: Auto-refreshes every 10 seconds via AJAX (no page reload)
  • 48-Hour Window: Shows current events and upcoming events within next 48 hours
  • Real-Time Clock: Always-on clock display
  • Connection Monitoring: Visual indicator shows live connection status
  • GE Aerospace Branding: Official colors, fonts, and logo

Technology Stack

  • Backend: Node.js with Express
  • Database: MySQL 5.6
  • Frontend: Vanilla JavaScript (no frameworks)
  • Styling: Custom CSS with GE Aerospace brand colors

Installation

Prerequisites

  • Node.js 16+ and npm
  • MySQL 5.6+ database
  • Access to ShopDB database

Setup

# Install dependencies
npm install

# Set environment variables (optional)
export DB_HOST=localhost
export DB_PORT=3306
export DB_USER=570005354
export DB_PASS=570005354
export DB_NAME=shopdb
export PORT=3001

# Start the server
npm start

# Or for development with auto-restart
npm run dev

Configuration

Environment variables:

Variable Default Description
PORT 3000 Server port
DB_HOST localhost Database host
DB_PORT 3306 Database port
DB_USER 570005354 Database username
DB_PASS 570005354 Database password
DB_NAME shopdb Database name

Usage

Access the Dashboard

Open your browser to:

http://localhost:3001

API Endpoints

Get Notifications:

GET /api/notifications

Returns current and upcoming events in JSON format.

Health Check:

GET /health

Returns server status.

Display on TV

  1. Open the dashboard URL in a web browser (Chrome recommended)
  2. Press F11 for fullscreen mode
  3. Dashboard will auto-refresh every 10 seconds
  4. Connection status indicator shows "LIVE" when connected

Project Structure

shopfloor-dashboard/
├── server.js              # Express server
├── package.json           # Dependencies
├── public/
│   ├── index.html        # Dashboard UI
│   └── ge-aerospace-logo.svg
├── .gitignore
└── README.md

Database Schema

Queries the notifications table in ShopDB:

SELECT notificationid, notification, starttime, endtime,
       ticketnumber, link, isactive
FROM notifications
WHERE isactive = 1
AND (conditions for current/upcoming)
ORDER BY starttime ASC

Design

Colors (GE Aerospace Brand)

  • Deep Navy: #00003d (background)
  • Sky Blue: #4181ff (accents, clock)
  • Avionics Green: #0ad64f (live indicator)
  • Tungsten: #eaeaea (secondary text)

Typography

  • Font: Inter (sans-serif)
  • Sizes: Large for TV readability (38px-48px headers)

Development

# Install dev dependencies
npm install

# Run with auto-restart
npm run dev

# The server will restart automatically when you edit files

Deployment

For production deployment:

  1. Use a process manager (PM2, systemd)
  2. Set environment variables
  3. Configure reverse proxy (nginx/Apache) if needed
  4. Enable SSL/TLS for secure connections

Example with PM2:

npm install -g pm2
pm2 start server.js --name shopfloor-dashboard
pm2 save
pm2 startup

Troubleshooting

Port already in use:

# Use a different port
PORT=3001 npm start

Can't connect to database:

  • Verify MySQL is running
  • Check credentials in environment variables
  • Ensure database exists and user has permissions

Dashboard not updating:

  • Check browser console for errors
  • Verify /api/notifications endpoint returns data
  • Check network connectivity

License

Internal GE Aerospace project - West Jefferson facility

Support

Contact: IT Support - West Jefferson