Overview
We have identified the following direct external dependencies:
- Bulma, used as the base CSS framework for the frontend.
- CarrierWave, used as a library for handling uploaded images and generating thumbnails.
- Dart Sass, used for compiling user-facing CSS.
- Devise, used for authenticating customers and administrators.
- Font Awesome, used for iconography.
- jQuery, used as a JavaScript framework for optional enhancement of the Administrator Panel.
- OmniAuth, used for communicating with external systems for user authentication.
- OmniAuth Apple, used as an OmniAuth provider for Sign In with Apple support.
- OmniAuth Facebook, used as an OmniAuth provider for Sign In with Facebook support.
- OmniAuth SAML, used as an OmniAuth provider for SAML based administrator sign in support.
- PostgreSQL, used as the database storage system.
- RuboCop, used to ensure adherence to best practices and catch some types of security issues in a static scan.
- Ruby on Rails, used as the Web application framework.
We have identified these indirect external dependencies:
- Hotwire, used as a site-wide JavaScript framework.
- ImageMagick, used by MiniMagick for image processing.
- MiniMagick, used for generating thumbnails with the CarrierWave library.
- omniauth-rails_csrf_protection, used to prevent CSRF attacks on OmniAuth forms.
- Puma, used as the interface between Rack and the TLS terminator.
- Ruby SAML, used by omniauth-saml to process SAML.
The following development-only dependencies are outside of the scope of this document, but are still mentioned here for full system documentation.
- FactoryBot, used for creating mock objects in the test suite.
- RSpec, used for the test suite.
- SimpleCov, used for generating test suite coverage data.
- SQLite 3, used in the development and test environments to ensure future portability to other RDBMS if necessary.