Skip to content

KevanMacGee/glance-board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glance Board

A minimalist dashboard designed for wall-mounted displays. Shows the time, weather, and upcoming calendar events at a glance. Intended to be singular and private, not exposed to the web. Calendar feed pulls from Google Calendar.

This project is meant to be a one-off for my personal use. It isn't designed for anyone else to use it, but you are welcome to. However, you are on your own. There are small to low security risks which I may not bother to fix. My use for it is pretty unique so at the moment since it fits that use currently, changes will be small, infrequent and at my whim. If you really want to use it, I suggest forking it and adapting it to your needs.

React Vite TypeScript

Features

  • Live Clock — Current time and date, updates every second
  • Weather — Temperature, conditions, and daily high/low from Open-Meteo
  • Calendar — Upcoming events from Google Calendar (via ICS feed)
  • Offline-First — Caches data locally; gracefully handles network issues
  • Kiosk Ready — Designed for fullscreen display on dedicated screens

Weather icons provided by Basmilius https://github.com/basmilius/weather-icons

Getting Started

Prerequisites

  • Node.js 18+
  • A Google Calendar (or any calendar with an ICS URL)

Installation

npm install

Configuration

Create a .env file in the project root:

GOOGLE_ICAL_URL=https://calendar.google.com/calendar/ical/.../basic.ics
PORT=3000

Finding your ICS URL:

  1. Open Google Calendar Settings
  2. Select your calendar → Integrate calendar
  3. Copy the Secret address in iCal format . That is the link that goes above.

Running

Development:

node server.js

Production:

npm run build
NODE_ENV=production node server.js

The app will be available at http://localhost:3000.

Kiosk Mode

For a wall-mounted display, run in fullscreen kiosk mode:

chromium --kiosk --noerrdialogs --disable-infobars http://localhost:3000

Auto-start on Boot (Linux)

Create a startup script or systemd service to launch both the server and browser on boot.

Tech Stack

Layer Technology
Frontend React, TypeScript, Tailwind CSS
Backend Express, node-ical
Build Vite

Project Structure

├── server.js           # Express server + API
├── src/
│   ├── components/
│   │   ├── ClockDisplay.tsx
│   │   ├── WeatherDisplay.tsx
│   │   └── AppointmentsList.tsx
│   └── pages/
│       └── Index.tsx   # Main dashboard layout
└── .env                # Configuration

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors