For the complete documentation index, see llms.txt. This page is also available as Markdown.

Core Concepts

Understanding these core concepts will help you get the most out of the Frigg framework:

Integration

Extends @friggframework/integration-base. An "integration" is how Frigg connects (usually 2) modules for the connection of data and actions. Each service has its own API Module to represent its API to the middleware; use case-specific business logic will also be required.

API Module

Composed of an API Class (generally extending a subclass of @friggframework/requester) and a Module Definition. The API Class handles the requests to external APIs, i.e. authentication, identification, and data retrieval. The Module Definition lets the @friggframework know how to use this API Class as an API Module, such that tokens and other metadata the connection to an external api, can be stored (and refreshed).

Entity (authorizing entity)

A mongoose model extending @friggframework/module-plugin/entity: For a given API Module, the entity is a kind of handle, linking to the relevant credentials, and storing metadata about who/what is authorizing. Retrieving these for a given user is an important gateway to accessing an integration, as most integration actions require one or more authorized API Modules. Most generally, an API Module will be instantiated by passing in an Entity.

Credential

A mongoose model extending @friggframework/module-plugin/credential: For a given API Module, the credential generally stores the tokens or data necessary for making authenticated requests. Multiple Entities can reference the same credential, although 1:1:1 User:Entity:Credential is common.

Data Handling

Frigg manages data securely and efficiently, ensuring it can scale as needed without compromising performance. The framework includes built-in support for:

  • Encryption: Automatic KMS integration for field-level encryption

  • Configuration Management: SSM Parameter Store for secure config and secrets

  • Network Security: VPC support for network isolation and compliance

Infrastructure Automation

Frigg provides automatic AWS infrastructure configuration:

  • VPC Configuration: Automatic VPC setup with AWS Discovery or infrastructure creation

  • Security: KMS encryption and SSM Parameter Store integration

  • Cost Optimization: VPC endpoints and intelligent resource discovery

  • Compliance: Network isolation and encryption for regulated environments

Customization

Frigg is highly customizable, letting you tailor modules and integrations to fit your specific needs. Infrastructure features can be enabled independently:

Testing

Frigg supports automated testing with tools like Jest to maintain reliability and performance.

Contribution

Frigg is open-source and thrives on community contributions. Whether you're fixing bugs, writing documentation, or developing new modules, your input is valuable. We encourage users to get involved through our GitHub repository, participate in discussions, and submit pull requests. Every bit of help makes Frigg better for everyone.

Last updated

Was this helpful?