Folio je plnohodnotné open-source CMS, kterým vybavujeme každý nový web od microsite, přes prezentační webové stránky až po komplexní webové aplikace.
Prvotní inspirací pro vývoj byl projekt Suspender pro rychlý rozjezd aplikací od známého amerického studia thoughtbot. Postupem času se rozrostl do plnohodnotného CMS s přívětivou administrací stromové struktury stránek, podporu SEO a komplexní správou médií.
Folio představuje souhrn těch nejlepších postupů, které jsme ověřili v praxi u mnoha předchozích projektů (k březnu 2019 máme na Gitu 220 webů a webových aplikací ;).
Vlastnosti CMS Folio
Správa médií
Leadové formuláře a zápis do newsletteru
Technologie
Webový framework Ruby on Rails 6, jazyk Ruby 3, databáze PostgreSQL, asynchronní úlohy ActiveJob a Sidekiq na db Redis, šablony responzivní HTML5 Bootstrap psané ve Slim, Haml a Erb. Javascript preprocesor CoffeeScript, CSS Sass. Turbolinks pro akceleraci přechodů mezi stránkami. Správce obrázků je napsaný jako samostatný modul / single-page aplikace v React.js za použití Redux. Hosting médií a příloh v rychlých a bezpečných Amazon S3 bucketech.
Webové stránky postavené na Foliu jsou nasazeny na oddělených serverech pro aplikaci, pro asynchronní úlohy i databázi. Deploy probíhá pomocí Capistrana ze zdrojového kódu umístěného v Gitu (Bitbucket nebo Github). Aplikační servery běží na workerech Puma za webovým serverem Nginx. Stav všech vrstev aplikace kontroluje Monit a případné chyby padají do Sentry, kde si je vyzvedneme pro případ, že nám unikla chyba na produkci.
Pro šifrování webů používáme SSL certifikáty od Letsencrypt s automatickou obnovou, nebo ještě raději umisťujeme weby za rychlou CDN Cloudflare, která poskytuje SSL certifikáty v ceně služby.
Každý web postavený na Folio CMS si nadále uchovává vlastnosti Ruby on Rails aplikace s možností dalšího rozšiřování a úprav.
Pokud si chcete prohlédnout zdrojový kód, vyzkoušet Folio na vlastním projektu, nebo poslat pull request pokračujte na https://github.com/sinfin/folio.
Sinfin.digital // http://sinfin.digital // [email protected]