Slate Kit Architecture components are a collection of Kotlin libraries that help you to quickly build robust, testable, and scalable applications on the JVM. Many of these components are located in the SlateKit.Core project. However, other components are comprehensive enough to warrant having them in their own project. Refer to each component for more info.
Command line access to your services, apis. Extend the Shell app, register apis, and have the shell marshal commands via reflection. See example.
Light-weight cache to load, store, and refresh data, with support for metrics and time-stamps. Default in-memory implementation available. See example
A variation to the command pattern to support ad-hoc execution of code, with support for metrics and time-stamps. See example
A container to hold common dependencies like configs, logger, encryptor, etc, to make them easily available to other components. See example for setup and usage
An email service to send emails with support for templates, with a default implementation for SendGrid. See example for details on setup and usage.
A simplified interface and abstraction for persistent file storage. We offer built in support for AWS S3 to store files. See example
A push notification abstraction primarily for mobile based push notifications. This component is a work-in-progress and not currently available.
A simplified interface and abstraction for persistent queues. We offer built in support for AWS SQS and in-memory queue. See example
An SMS Service to send text messages to mobile phones, with support for templates, with a default implementation using Twilio. See example for setup and usage.