SkyFlare is currently under heavy development and should not be used in production unless you are a very experienced developer who can troubleshoot and update the framework fundamentals. SkyFlare should be considered pre-alpha
SkyFlare is a dual web development framework with a focus on code habitability, maintenance and logic encapsulation preferring convention over configuration wherever possible. SkyFlare was built with a few specific use cases in mind.
- API-only backend applications that need JSON results for consumption by a variety of clients (browser, mobile and custom clients)
- Simplified but secure deployment processes for small teams to reduce automation costs and complexity
- As a modern API layer for legacy applications with minimal changes to legacy code that may not be conducive to modern web development
- Backend and frontend components agnostic of each other but intended to work together
Sky
Sky is the API-only backend framework. Sky is intended to be easy to setup, easy to configure and easy to maintain.
Design Goals
- Opinionated, rigidly defined architectural pattern that is expressive enough to handle most real world scenarios
- Cheap to deploy in both time and money
- JESTful
- JSON Encapsulated State Transfer - returns are primarily JSON-based with the exception of templates and template fragments as well as full page rendering
- Reject
- HATEOAS as a key component of the design pattern (although lightly supported)
- Verb Juggling
- HTTP status codes for execution and pathing errors, envelope reporting for logic errors
- Clear separation between framework, business logic, controller and model layers
- Web-based admin dashboard for hosting platforms without direct server access
- Seamless multi-tenancy with row level, dynamic tenant scoping - no need to configure scoping for insert or select queries
- Provide in-built core web application functions such as
- Pathing
- Application Settings Management
- User Management
- Registration/Enrollment
- Authentication and Authorization
- Email Verification
- Preferences
- Addresses and Phones
- Subscriber Management
- Registration/Enrollment
- Pricing Module Membership
- Subdomain-based Data Scopes
- Dynamic, Role-based Permissions including Menuing
- Subscription Plans, Pricing and Usage Metering
- Dynamic Workflows
- Notifications
- Timezone Enforcement
- Human Language Translation
- Form Validation
- Follows
- Notes
- Monikers
- Documents
- Webhooks
- Logging (using Monolog)
- Tasks
- Lightweight Templating
Flare
Flare is the htmx-based frontend framework for use in HTML-based API coordination applications. Flare is a set of vanilla Javascript libraries that have low interdependency but high interoperability.
Design Goals
- The frontend application's state is already represented
- Atomic, dynamically loadable DOM hydration
- Memory safe and efficient
- HTMX attributable elements
- Promise-based, Javascript classes for default strictness, scope encapsulation, inheritance and composition
- Automatic function declarations via utility classes, function configuration by attributes
- Provide reusable, in-built, common core functions of frontend development
- Remote API (including Sky APIs) standardization to include API keys in headers on each request and result reporting via Promises
- Dynamic data loading with caching, repeatable hydration, and template interpolation
- Authentication
- Follows (with Sky)
- Basic Calendaring (with Sky)
- Document download and detail display
- Simple DOM manipulation and selection
- File Uploading
- Growls/Toasts
- Templating for DOM element hydration and display
- Browser Data Storage
- UI Tabs
- Table Interactions including column hiding/showing, content filtering by column values, and more effective sorting for different data types