Skip to content

Design Docs

palvitgarg99 edited this page Sep 30, 2021 · 4 revisions

aPAS Architecture

Block diagram

Few key points of design:

  • The db is only used to maintain access tokens and other session information for users.
  • No event details are stored in any db, instead they are directly stored in user calendars(may it be google, apple or samsung calendar)
  • aPAS creates its own separate calendar in user calendar to store all unscheduled events.
  • This makes aPAS highly scalable.
  • Multiple layers help in accomodating any new client addition or new calendar type addition.
  • The factory pattern provides the flexibility to quickly add new classes for new clients or calendars, without impacting existing logic. Thus making it higly Flexible and maintainable.
  • The controller class holds the algorithm to arrange unscheduled events. For more details on this class refer to developer's guide.
  • aPAS design is completely modular.

Class Diagram

Class diagram Please find details on all classes

Clone this wiki locally