All Projects → jazzdotdev → flute

jazzdotdev / flute

Licence: other
The Application Framework Built for Powerful, Secure features and add-ons

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to flute

Contentful.swift
A delightful Swift interface to Contentful's content delivery API.
Stars: ✭ 132 (+842.86%)
Mutual labels:  content-management, content-management-system
RooCMS
RooCMS - This is easy and convenient content management system designed to quickly create websites.
Stars: ✭ 21 (+50%)
Mutual labels:  content-management, content-management-system
Quokka
LOOKING FOR NEW MAINTAINER - Quokka is a Content Management System - `docker run --rm -it -p 5000:5000 quokka/quokka`
Stars: ✭ 2,198 (+15600%)
Mutual labels:  content-management, content-management-system
Scrivito example app js
Scrivito is a JavaScript-based SaaS Content Management Service, built for digital agencies and medium to large sized businesses. This example app shows Scrivito’s features and is a great basis for your own Scrivito website projects.
Stars: ✭ 67 (+378.57%)
Mutual labels:  content-management, content-management-system
nc-cms
💡 Embeddable, lightweight, simple PHP CMS. Content Management System.
Stars: ✭ 20 (+42.86%)
Mutual labels:  content-management, content-management-system
Revolution
MODX Revolution - Content Management Framework
Stars: ✭ 1,218 (+8600%)
Mutual labels:  content-management, content-management-system
vscode-front-matter
Front Matter is a CMS running straight in Visual Studio Code. Can be used with static site generators like Hugo, Jekyll, Hexo, NextJs, Gatsby, and many more...
Stars: ✭ 962 (+6771.43%)
Mutual labels:  content-management, content-management-system
Laravel 8 Simple Cms
Laravel 8 content management system for starters.
Stars: ✭ 444 (+3071.43%)
Mutual labels:  content-management, content-management-system
pageflo
A new super flexible open source CMS
Stars: ✭ 34 (+142.86%)
Mutual labels:  content-management, content-management-system
boom-core
BoomCMS core code. BoomCMS is a user friendly, WYSIWYG CMS based on Laravel. Open source and released under the MIT license.
Stars: ✭ 13 (-7.14%)
Mutual labels:  content-management, content-management-system
Lokum
Manage a website’s content using Trello
Stars: ✭ 26 (+85.71%)
Mutual labels:  content-management, content-management-system
AeroCMS
Aero is a simple and easy to use CMS (Content Management System) designed to create fast and powerful web applications!
Stars: ✭ 14 (+0%)
Mutual labels:  content-management, content-management-system
Laracms
LaraCMS 是在学习 laravel ( web 开发实战进阶 + 实战构架 API 服务器) 过程中产生的一个业余作品,试图通过简单的方式,快速构建一套基本的企业站同时保留很灵活的扩展能力和优雅的代码方式,当然这些都得益Laravel的优秀设计。同时LaraCMS 也是一个学习Laravel 不错的参考示例。
Stars: ✭ 588 (+4100%)
Mutual labels:  content-management, content-management-system
Personal Management System
Your web application for managing personal data. <[email protected]>
Stars: ✭ 2,027 (+14378.57%)
Mutual labels:  content-management, content-management-system
Textpattern
A flexible, elegant, fast and easy-to-use content management system written in PHP.
Stars: ✭ 572 (+3985.71%)
Mutual labels:  content-management, content-management-system
Cms
Multilingual PHP CMS built with Laravel and bootstrap
Stars: ✭ 2,342 (+16628.57%)
Mutual labels:  content-management, content-management-system
Strapi
🚀 Open source Node.js Headless CMS to easily build customisable APIs
Stars: ✭ 41,786 (+298371.43%)
Mutual labels:  content-management, content-management-system
Srcms
SRCMS企业应急响应与缺陷管理系统
Stars: ✭ 282 (+1914.29%)
Mutual labels:  content-management, content-management-system
vaahcms
VaahCMS is a laravel based open-source web application development platform shipped with a headless content management system (CMS).
Stars: ✭ 56 (+300%)
Mutual labels:  content-management, content-management-system
laravel-storyblok
Make Laravel and Storyblok work together beautifully.
Stars: ✭ 45 (+221.43%)
Mutual labels:  content-management, content-management-system

lighttouch logo

Lighttouch is a framework that makes complex application development simpler. It does this through broad use of component-oriented design intended to offer programmers a well-researched alternative to starting with a blank canvas - "put your code anywhere".

Code organized this way is:

  • easier to program
  • unlimited in its reusability of implementations
  • easier to extend with other developers' plugins
  • possible to socially cross-pollenate diverse and complex applications
  • possible to use as a base for visual programming environments

Without this, applications tend to:

Below you'll learn what is ECA-Rules, but to begin let's start with a simple diagram from the Drupal Rules module, a project which greatly influenced this one.

ECA-Rules diagram

Lighttouch Packages

Packages are Lighttouch's main unit of addon functionality. They leverage event-driven, rule-based programming. This basically means that packages have actions, events, and rules. Events are like hooks where additional logic can run. Rules check a conditional statement of any complexity and trigger events. When an event triggers, its actions run in weight order. Actions are the individual mechanisms of additional functionality that have a distilled purpose and can run on any associated event.

80% of this functionality builds on top of Luvent: A Simple Event Library for Lua. You could probably get away with the summary below of Lighttouch's use of its API, but it's still worth checking out. It has a great Readme. The basic difference between what Luvent does and what Lighttouch does is that while writing a Lighttouch app, you put functionality into individual files, and Lighttouch sets everything up for you.

Events are very simple. They get loaded into a global list by reading each package's events.txt file. They can be disabled in a disabled_events.txt file. (aside: Potential improvements include a simpler interface and ordering execution by weight.)

Rules are basically an IF statement with some metadata. If the configured conditions, specified in the body of a rule as Lua code are TRUE, then the specified events will trigger and the objects specified in the input parameters will get passed to the attached actions.

Actions are individual, lazy loaded functions that can run where they are needed. You simply code what you want to do, and leave the parts about when it will run and in what order to the other logic connected through the yaml header. Actions should not have conditions in them.

Packages

See Lighttouch Package:

  • Lighttouch Web Logging: (for web automation) log every incoming request, outgoing response, outgoing request, and incoming response (server and client logging out of the box.. makes debugging web applications much easier) to log directory (log entries are content, btw)
  • Lighttouch JSON Interface: REST API built on content module
  • Lighttouch HTTP Interface: form-driven content entry mechanism, username:password protected (autogenerated at each initialization)
  • Lighttouch Crypto Tools: setup a profile with cryptographic signing keys for yourself and friends to verify incoming responses and requests, and sign outgoing requests and responses + and more

Additional Modules

Lighttouch relies on ContentDB for content management and some other libraries found in the Lunar Transit account.

Installation

To install Lightouch, first install Torchbear, then run mp install lighttouch.

Developing

To modify any functionality in Lighttouch, clone this git repo, run mp unpack, make your changes in that directory, and work from the git repo in place.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].