Looking for a powerful and very fast CMS ?

Fasty is a CMS / APP Builder built on top of openresty, lapis, Lua & arangoDB. It's blazing fast ! No need to use flat file CMS ... Enjoy the power of a true database.

Fork me on https://github.com/solisoft/fasty and let's talk about it. If you want to buy me a beer :)

It comes with :

Blazing Fast ⚡️
Page edition (wysiwyg extended) Yes
I18n Yes
Translations module Yes
Images / files upload Yes
Form validation (server side) Yes
Datatypes management Yes
RiotJS widgets Yes
etlua view edition / compilation Yes
Micro caching Yes


Todo : Write a nice documentation xD

Build complex websites with ease. Load data from arangoDB using AQL language. Edit your layouts, partials, pages, AQL requests directly from the backoffice. No need to deploy your change.

You want to use bulma.io ? No problem ! Bootstrap ? Be our guest ! Fasty is CSS framework agnostic !

You can also use your favorite JS framework.


This website is running on a tiny VM with a 10s micro caching. It perform at 8000req/s

Datatypes definition

{
  "model": [
    { "r": true, "c": "1-1", "n": "title", "t": "string", "j": "joi.string().required()", "l": "Title", "tr": true },
    { "r": true, "c": "1-1", "n": "barcode", "t": "string", "j": "joi.string().required()", "l": "BarCode", "tr": true },
    { "r": true, "c": "1-1", "n": "desc", "t": "text", "j": "joi.string().required()", "l": "Description" },
    { "r": true, "c": "1-2", "n": "price", "t": "float", "j": "joi.number().required()", "l": "Price" },
    { "r": false, "c": "1-2", "n": "online", "t": "boolean", "j": "joi.number().integer()", "l": "Online?" },
    {
      "r": true, "c": "1-1", "n": "author_key", "t": "list", "j": "joi.string()", "l": "User",
      "d": "FOR doc IN datasets FILTER doc.type == 'authors' RETURN [doc._key, CONCAT(doc.ln, ' ', doc.fn)]"
    },
    { "r": true, "c": "1-1", "n": "image", "t": "image", "j": "joi.string()", "l": "Pictures" },
    { "r": true, "c": "1-1", "n": "content", "t": "html", "j": "joi.any()", "l": "Content Editor" }
  ],
  "columns": [
    { "name": "title" }, { "name": "barcode" }
  ],
  "act_as_tree": true,
  "revisions": 10,
  "publishable": true,
  "sortable": true,
  "slug": ["title"],
  "sort": "SORT doc.order ASC",
  "search": ["title", "barcode"],
  "timestamps": true
}
Fasty! A very fast CMS for developpers & designers

Define your datatype and a UI will be created automatically. You can create as many datatypes you want. It comes with a lot of widgets : text, wysiwyg, html, code, images, files, list, tags ... 

Once created, you can then create a partial to display your data.

You can also create a helper with a partial and a specific AQL request. You are free to create any kind of dynamic content you want. Generated within frontend Single Page application or component, or via the backend.

Enjoy editing your requests and create kinda store procedures

FOR page IN pages
  LIMIT 10
  RETURN page

From developer to designer to editor workflow

Define a data type via a simple JSON file. You have a lot of widgets available ! Text, wysiwyg, images, files, tags, select, etc...

Editors can easily use the generated form to feed data. No need any particular skill to use it.

Designer define the HTML and developers create partials (views) which are .etlua. Dataset will come from an AQL request.

Video

Updates

2019-12-08 : Page Builders (by OB)

2019-11-01 : The i18n feature (by OB)

2019-10-20 : Define your 404 error pages with your own content (by OB)

2019-09-27 : Add params to helper shortcut (by OB)

2019-09-07 : Why we chose openresty, lua, lapis & arangodb ? (by OB)

2019-09-05 : "Le Vitaliseur de Marion"'s blog is running on Fasty (by OB)

2019-08-31 : Using the API builder (by OB)

2019-08-25 : Set dynamic headers via {{ og_data | <key> }} shortcut and an AQL request per page (by OB)

2019-08-15 : Removed redirection for root path to a quicker page rendering (by OB)

2019-08-04 : Fix drag & drop HTML code on editor (by OB)

2019-07-18 : Edit server side scripts within Fasty ! Edit / Save / Restart ! (by OB)

2019-06-20 : The npm fasty-cli allow you now to lock your files ... No one will overwrite your modifications. (by OB)

2019-06-13 : Added a new datatype definition attribute "publishable" to allow some workflow. (by OB)