Java Version

A walkthrough of an event on the original Java Eagle Board Scheduler, which runs on any computer with Java 21 and is operated from a web browser.

The Java version is the original version of the scheduler. It’s a single .jar file that runs on any laptop or a Raspberry Pi with Java 21 or newer. Every screen, for the door and for running the event, is a web page served from that one computer, and the admin pages follow the computer’s light or dark setting.

Get it: github.com/deekayen/eagleboards-java, under Releases; see Install below. The repository’s README is the operator’s manual.

The Java version’s Event page in dark mode, mid-event: the Youth list stacks three youth waiting, four on a board and none finished; over the room cards is a Find a person box, and the cards show Arthur Eldred’s final board in room 101 overdue at 49 minutes, with an alarm clock on a pink-red fill, and a proposal review in 200A running long at 28 minutes, with a timer clock on an orange tint; the details pane on the right shows Arthur Eldred’s board chaired by Neil Armstrong, ready to complete

The demo event uses famous Eagle Scouts as its cast: Neil Armstrong, Jim Lovell, and Charles Duke on one board, Gerald Ford chairing another, Steven Spielberg chairing a proposal review, the same scenes as the Mac and Windows walkthroughs.

System requirements

  • Admin computer: Windows, macOS, or Linux, including a Raspberry Pi running a 64-bit operating system. Every change is tested on Windows and Linux with Intel or AMD processors, on Linux with ARM processors (the Raspberry Pi), and on macOS with Apple silicon. Anything else that runs Java 21 should work too, including an Intel Mac, which the Mac version doesn’t support.
  • Java: Java 21 or newer. The Java runtime (JRE) is enough; the full JDK is only needed to build it from source.
  • Browser for the admin pages: Chrome or Edge 114, Firefox 125, Safari 17, or later. The pages’ right-click menus need a browser at least that new. It can run on the admin computer or on any computer on the same network.
  • Screen: optional. Without one, as on a Raspberry Pi tucked under the table, the district advancement chair works from a browser on another computer.
  • Check-in station: any tablet, phone, or laptop with an up-to-date web browser. Nothing is installed on it.
  • Disk space: about 6 MB for the program. The event’s records are small CSV files.
  • Network: one the check-in station can reach the admin computer on, on port 8080 (change it with -port). The internet is needed only for the SignUpGenius import.

Only one program can use port 8080 at a time, so don’t run the Java version and the Mac or Windows version on the same computer at once.

Install

  1. Install Java 21 or newer, if the computer doesn’t have it. Eclipse Temurin is free, with installers for Windows, macOS, and Linux, including 64-bit ARM for a Raspberry Pi. To check, open a terminal (Command Prompt on Windows) and type java -version: it should say 21 or higher.

  2. Make a folder for the scheduler, such as C:\eagleboards. It becomes the data folder: each event gets a dated folder inside it, next to the adult history and the timer settings.

  3. Download the jar. Under Releases, download eagleboardscheduler- followed by the release date and .jar. Put it in the folder and rename it eagleboardscheduler.jar, so the shortcut below still works when you swap in a newer one.

  4. Make a shortcut. On Windows, open Notepad, paste these three lines, and save them in the folder as Eagle Board Scheduler.bat:

    cd /d "%~dp0"
    java -jar eagleboardscheduler.jar -w -a Master_AdultHistory.csv
    pause
    

    Double-click it to start the program. On a Mac or Linux, open a terminal in the folder and type the java line instead.

The two options on the java line matter:

  • -a Master_AdultHistory.csv keeps one adult history for every event, so adults who served last month are recognized this month. Without it, each event starts a history of its own. The first time, the program starts an empty history and says where it put it.
  • -w opens the small window with the check-in address. Leave it off on a computer with no screen, or the program won’t start.

Add these to the end of the same line when you need them:

  • -sugkey, a space, and the API key, to import from SignUpGenius each time it starts. The key works like a password, so keep the shortcut out of shared folders.
  • -bind 192.168. (or whatever the venue Wi-Fi’s addresses start with) if the address window lists more than one address, as it does with a VPN or virtual machines. The program then serves only that network.

The repository’s RUNNING.md lists every option.

Moving from the Mac or Windows version? They use the same files. Put the jar and the shortcut in the folder that version used, the one holding Master_AdultHistory.csv and the dated folders.

Upgrading is replacing eagleboardscheduler.jar with the new release, renamed the same way. The data folder is left as it is.

Starting up

Open the Eagle Board Scheduler shortcut you made when installing. Java may ask to allow access on the network: allow it, or the check-in station can’t connect. Two windows appear: a black console window (leave it alone, because closing it stops the program) and a small grey window showing an address such as http://192.168.1.50:8080. Type that address into the check-in station’s browser.

On the admin computer, open the same address with /scheduler on the end. That’s the Event page, where the event is run. The bar across the top of every page reaches the rest:

In the top barWhat it is
EventThe youth, the rooms, and building and running each board
Admin tablesEvery record as an editable table: correct a result, promote someone to chair, add an adult
SettingsThe room timer times, and the ways to support the project
HelpHow to run an event, inside the program
Check-in pageWhat the tablet at the door shows
Save reportEvery youth’s board and result as a spreadsheet

The footer shows the check-in address, and QR code… beside it shows the address as a code the tablet’s camera can open. Nothing needs refreshing: a sign-in at the door appears on the Event page at once.

Before anyone arrives, press Add room for each room, marked for final boards or project reviews by how you’ll use it at this event. Rename, Move, and Remove act on the selected room card. Right-clicking a room switches it between final boards and project reviews.

1. People sign in

A tablet or spare laptop at the door. A Scout taps I am a youth and an adult taps I am 21 or older; the lists below show who’s here.

The check-in page on a tablet: I am a youth and I am 21 or older buttons above the lists of youth and adults already signed in, with the time and unit of each

The forms ask only what running the event needs. A Scout gives a name, an email address and a unit, picks which review they’re here for, and can name their unit leader; they’re never asked for a phone number or a birthdate. An adult also gives a phone number, says which kinds of board they’ll sit on, and can check the Scout they’ll introduce to their board (parents leave that blank). On a laptop each form fits the window, with Sign in always at the bottom.

The youth sign-in form: email, first and last name, unit type and number, a choice between an Eagle board of review and a project proposal review, and an optional unit leader’s name

The adult sign-in form: email, phone, name, and unit; Member or Chair for Eagle boards of review and for project proposal reviews; a Wood Badge checkbox; and an optional list of the youth here for an Eagle board of review, to check the ones they’ll introduce

Each Scout appears in the Event page’s Youth list the moment they sign in. The list holds everyone who has signed in, in three groups, each with its count: Waiting in sign-in order, On a board by room, and Finished with the most recent first.

To find which room someone is in, a Scout or an adult, type part of their name in Find a person over the room cards (Ctrl+F goes there). The cards narrow to the rooms holding a match, or a room by that name, and a line says where anyone found in no room is: waiting, not on a board, gone home, finished, or postponed. Enter opens the room, or the Scout.

An adult who would rather not use the tablet can be signed in from Admin tables: Add adult… on the Adults tab searches the adult history and fills the form in for someone who has served before.

2. Seat a board

Select a waiting Scout. Their board is built in the details pane on the right: a free room of the right kind, a chair, and enough members. The program picks with the whole waiting line in mind, never uses adults from the Scout’s own unit if it can help it, and puts the adults who have waited longest first.

Change the board there: remove someone with ×, press Add beside an adult under Add members, and Fill the rest completes the board around your own picks. The rules are checked as you go, under Board members: too few or too many members, nobody who may chair, someone from the Scout’s own unit. Press Seat board (or Ctrl+Enter) once it’s right. The members go to the room with the paperwork; the Scout waits outside.

Selecting Bill Amend, who has waited 53 minutes, proposes room 200B with Guion Bluford as chair and Steve Fossett, each with the Wood Badge pentagon after their name; after Seat board, room 200B shows the board convening and a message offers Undo

Every step can be taken back with Undo in the message that follows it, or Ctrl+Z. Only Reset, Postpone, and removing a room ask first.

3. Start the review and complete it

When the members are ready, select the Scout and press Start review. On a board of review it first reminds you to fetch whoever introduces the Scout, and says where they are, so someone can walk the Scout in; a project review has no introduction. Under Leaders and parents, the details pane shows who introduces the Scout; Locate looks for the Scout’s leaders by name and unit. If someone has to leave mid-board, Change members… swaps them without restarting the room’s timer.

When the board comes out, press Complete, choose the result, add any notes, and the room and members are free for the next Scout.

In light mode, completing Arthur Eldred’s overrunning board: the Complete dialog records Approved with a note, then Arthur Eldred shows as Completed and room 101 is free again

Admin tables and settings

Admin tables hold every record as an editable table, in tabs: Boards, Youth, Youth scheduled (the pre-registrations), Adults and Rooms. A result or its notes is corrected on Boards, and an adult is promoted to chair on Adults; a change to an adult’s name, unit, or roles reaches the adult history too. A Scout’s status is read-only in every tab: it changes only through the Event page’s steps, which take and free a room and its members.

Two tabs are read only. Adult history CSV is every adult who has ever signed in, with the date of their last event; Sign in for today puts the selected adult on this event’s list. Approved proposals lists every project proposal approved at an earlier event in the data folder, however long ago, for a Scout who comes to their board of review without the signed page: who, their unit, when, the chair, and the other members.

The Admin tables’ Boards tab: every youth with their board type, unit, status, result, chair, members, and notes

Settings has the room timers and, further down, the Guide to Advancement passages their defaults come from: a board still reading the packet is overdue at 30 minutes; a final board with the Scout is running long at 30 and overdue at 45. A timer running long shows a timer clock on an orange tint, and an overdue one an alarm clock on a pink-red fill, so the two differ in shape as well as color. Donate, in the top bar, opens the ways to support the project on the same page.

The Settings page: the five room timer times, and the list of ways to support the project with a Venmo QR code

Last modified October 25, 2026