Lunchlink -- because simple lunch menus are good

This extremely simple utility prints the school West Somerville Neighborhood School lunch menu out in a human-readable text format.

The official URL for getting Somerville school lunch menus is https://linqconnect.com/public/menu/FE53U3, but that Web page has a pretty crummy UX. It's a SPA that takes a while to load and doesn't present information in a way that makes it easy to see what exactly is going to be available for lunch today.

This SPA is populated by JSON returned from an HTTP endpoint. To see raw data, try:

wget \
    -O - \
    'https://api.linqconnect.com/api/FamilyMenu?buildingId=dc643b2d-4be6-eb11-a2c9-d2abdd85801a&districtId=7810c14e-a7e4-eb11-a2c5-8cc0b3a2728d&startDate=10-06-2024&endDate=10-07-2024'

Running

Clone the repository and cargo run to get today's lunch menu. That's it. If you want a smaller binary, cargo build --profile release and copy it somewhere on your PATH.

Modifying

You can change hard-coded keys in main.rs and recompile to get data for other schools (or maybe even other school districts).

This program is released under the GNU General Public License, version 3 or later.

Description
Simple, terminal-friendly interface to school lunch menus on LINQ Connect
Readme GPL-3.0 54 KiB
Languages
Rust 100%