Skip to content

Latest commit

 

History

History
47 lines (25 loc) · 2.17 KB

README.md

File metadata and controls

47 lines (25 loc) · 2.17 KB

App design docs

This provides an overview of how the calendar works.

Services

Service diagram

DMS calendar communicates with:

  • MariaDB: holds persistent data (e.g. calendar events, attendees, etc.); MySQL-compatible database server
  • DMS Active Directory (LDAP): connects the calendar to DMS accounts used across DMS's other services; account / authentication server
  • Braintree: credit card processesing; third-party service
  • Sparkpost: sends email notifications? third-party service
  • Twilio: sends SMS notifications; third-party service

Webserver

The webserver is one of:

  • Production: Apache and PHP-FPM for calendar.dallasmakerspace.org. If you run locally without Docker, you might also be using these.

You can think of these as wrappers around CakePHP that handle low-level stuff like managing parallel requests, network connections, etc. They just invoke index.php with each request. This activates the CakePHP framework, and eventually the calendar code under src/ is invoked (see next section).

Application

The app is built with CakePHP, which is a pretty typical MVC framework with CRUD-centric route handling.

Key files:

Here's how a response is computed:

Request / response sequence

More details on the rest can be found at CakePHP - request cycle and controllers request flow are especially helpful.

Warning: check composer.json to ensure you're looking at docs for the right version of CakePHP.