Browse the USI's canteen menu with a single app and manage your preferences.
Get notified about the daily menu.
You have to install a few dependencies in order to build the project successfully. To run the project, open the λunchtime.rkt
file and run it.
- Make sure you have DrRacket 6.3 installed on your machine.
- Install poppler library which is used to do a basic parsing of a PDF by doing
brew install poppler
- Install terminal-notifier to display notifications on your Mac by doing
brew install terminal-notifier
- Install the racket-poppler library through the package manager. Go to
File > Install Package
. Press Browse and then the Directory button. Select theracket-poppler
folder in the project directory and press Update.
- λunchtime.rkt Program launcher.
- ui.rkt GUI definition.
- preferences.rkt Manages notifications (through a .plist file) and stores preferences set with the GUI.
- parser.rkt Core module, runs the bash scripts to convert the menu PDF into TXT and then parses it, extracting the different days’ menus and courses.
- date-checker.rkt Determines each day’s date and whether the local menu is out of date, so that a new one is downloaded.
- configuration.rkt Used to determine the absolute paths of the resource files, as with the executable they need to be placed inside it.
- scripts/download.sh Downloads the PDF menu and converts it to TXT format.
- scripts/check.sh Extracts a rectangle of text for each day (used by parser.rkt to determine where there are no/less meals).
- scripts/notify.sh Shows notification messages - it is run by the System Daemon service.
This project was created by Lara Bruseghini and Patrick Balestra as our final project for the Programming Fundamentals I course at USI.
This project is licensed under the terms of the MIT license. See the LICENSE file.