The backend application is written in Perl, object-oriented where possible. It consists of three major sections: a collection of libraries to access the database, cgi scripts to query data and render it for the website, and some command-line utilities to do maintanence and load new calendars. For each of the major data types, manuscript, calendar, calendar entry, and saint there is both a single class, e.g. Saint, and a class to handle mutiples, e.g. Saints. These are nested, so a Manuscript contains a Calendar, and a Calendar contains Calendar Entries.

Perl Modules

  • Database Connection
    • DBI
    • DBD::mysql
    • DBIx::Connector
  • Text::Markdown
  • Template::Toolkit
  • Switch
  • JSON
  • CGI
  • URI::Escape
  • Moose
  • Text::CSV