Skip to content

BalestraPatrick/lunchtime-USI

Repository files navigation

λunchtime @ USI

Browse the USI's canteen menu with a single app and manage your preferences.

Get notified about the daily menu.

Installation

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 the racket-poppler folder in the project directory and press Update.

Implementation Details

  • λ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.

Authors

This project was created by Lara Bruseghini and Patrick Balestra as our final project for the Programming Fundamentals I course at USI.

License

This project is licensed under the terms of the MIT license. See the LICENSE file.

About

A Mac application written in Racket to browse the canteen menu for the USI university

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published