Skip to content

ComputerScienceHouse/gatekeeper-frontend

Repository files navigation

gatekeeper-frontend

Web interface for gatekeeper-mqtt. Lets CSH members view door status and trigger unlocks, and RTPs browse access logs, from a browser.

Built with Next.js 15, next-auth v5 (CSH SSO), react-bootstrap, and csh-material-bootstrap.

Features

Doors

  • Doors dashboard — live online/offline status for all doors, updated every 30 seconds
  • Unlock — send an unlock command to any door with a single click
  • Access feedback — door-specific error messages on 403 (e.g. safety seminar, RTP status)

Logs

  • Access logs — log viewer for door access events

Prerequisites

Setup

npm install
cp .env.local.example .env.local

Edit .env.local:

Variable Description
NEXT_PUBLIC_API_URL Base URL of the gatekeeper-mqtt API, no trailing slash (e.g. http://localhost:3001)
AUTH_SECRET Session encryption secret — generate with openssl rand -base64 32
AUTH_OIDC_ID OIDC client ID from CSH SSO
AUTH_OIDC_SECRET OIDC client secret from CSH SSO

The OIDC client must have http://localhost:3000/api/auth/callback/csh in its allowed redirect URIs (replace localhost:3000 with your deployment URL in production).

Development

Note: For developing new features or fixes, refer to the gatekeeper-mqtt API docs for available endpoints.

npm run dev

App runs at http://localhost:3000. Unauthenticated requests are redirected to CSH SSO automatically.

Testing

npm test

Production Build

npm run build
npm start

About

Modern React Frontend for Gatekeeper v2

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors