SlideShare a Scribd company logo
KEYSTONE.JS 101 
ALEXANDER ROCHE
WHAT IS KEYSTONE.JS? 
• NodeJS based CMS 
! 
• MVC Framework 
! 
• Creates an admin panel by 
default 
! 
• Javascript. Javascript 
everywhere.
INCLUDES 
• ExpressJS 
! 
! 
! 
• MongoDB
HOW TO INSTALL 
• Pre-requisites: MongoDB , NodeJS, NPM 
$ NPM INSTALL -G GENERATOR-KEYSTONE 
$ YO KEYSTONE 
$ NODE KEYSTONE
INCLUDES 
• ExpressJS 
• MongoDB 
• Cloudinary 
• Mandrill 
• Gulp/Grunt 
• Handlebars/Jade/Swig/ 
Nunjucks
NOW WHAT? 
• PACKAGE.JSON for any extra 
node modules you might want. 
• KEYSTONE.JS for config options 
• Routing in ROUTES/VIEWS/ 
INDEX.JS 
• Models in MODELS/ 
• Views in TEMPLATES/VIEWS/ 
• Controllers in ROUTES/VIEWS/ 
• Front End Resources in PUBLIC/
PACKAGE.JSON 
• Manages dependencies in 
node 
• Anything in npmjs.org can 
be referenced here 
• NPM INSTALL will 
retrieve dependencies 
and install them to 
NODE_MODULES 
• Never commit 
NODE_MODULES
KEYSTONE.JS 
• Main config and boot file 
• Email 
• Routes 
• Local Variables 
• Emailing Rules 
• Nav Elements in Admin 
• Custom templating 
engines can be used 
• Here’s where you set your 
database up as well
ROUTING 
• ExpressJS style routing, 
hence familiar syntax 
! 
• Error pages can be 
defined 
! 
• Most anything you can 
do in Laravel, you can 
do here.
MODELS
MODELS 
• Created as a keystone.List 
• .add method enables you 
to add keys to the model 
• Changes to models are 
incorporated in to the 
database on restart 
• Config options for which 
columns to show in admin 
Types: Boolean, Text, Textarea, Email, Url, Html, Color, Date, Datetime, Key, 
Number, Money, Select, Markdown, Name, Password, Location, CloudinaryImage, 
CloudinaryImages, LocalFile, S3 File, Embedly
VIEWS 
• Any tempting 
language you want, 
just set it up in 
keystone.js 
• Data is passed by 
setting it the 
controller as a 
locals parameter on 
the response.
CONTROLLERS 
• Contain all the logic from the 
request to the view being 
rendered. 
• Parameters passed to the view 
through the response 
argument of keystone.View 
• External files can be included 
and external functionality used 
• Views are rendered with 
the .render function 
• Additional parameters can be 
passed in to render
‘FUN’ STUFF
NRG NEWS 
A BLOGGING PLATFORM WRITTEN IN 
KEYSTONE.JS
THANK YOU FOR LISTENING!

More Related Content

What's hot

The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
Md. Ziaul Haq
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
Shailendra Chauhan
 
WordPress & Backbone.js
WordPress & Backbone.jsWordPress & Backbone.js
WordPress & Backbone.js
Andrew Duthie
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN StackRob Davarnia
 
Building great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapiBuilding great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapi
Maurice De Beijer [MVP]
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
Diacode
 
Full stack JavaScript - the folly of choice
Full stack JavaScript - the folly of choiceFull stack JavaScript - the folly of choice
Full stack JavaScript - the folly of choice
FDConf
 
Introduction to JavaScript Full Stack
Introduction to JavaScript Full StackIntroduction to JavaScript Full Stack
Introduction to JavaScript Full Stack
Mindfire Solutions
 
Javascript & Jquery
Javascript & JqueryJavascript & Jquery
Javascript & Jquery
Gurpreet singh
 
Get MEAN! Node.js and the MEAN stack
Get MEAN!  Node.js and the MEAN stackGet MEAN!  Node.js and the MEAN stack
Get MEAN! Node.js and the MEAN stack
Nicholas McClay
 
Single Page Application
Single Page ApplicationSingle Page Application
Single Page Application
Isuru Madusanka
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN StackMongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
Avinash Kaza
 
A Gentle Introduction to Blazor
A Gentle Introduction to BlazorA Gentle Introduction to Blazor
A Gentle Introduction to Blazor
Jose Javier Columbie
 
Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.
Herman Peeren
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
Dotitude
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
Ashok Raj
 
Codegen2021 blazor mobile
Codegen2021 blazor mobileCodegen2021 blazor mobile
Codegen2021 blazor mobile
Jose Javier Columbie
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
Praveen Gubbala
 

What's hot (20)

The MEAN Stack
The MEAN StackThe MEAN Stack
The MEAN Stack
 
Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN Stack
 
WordPress & Backbone.js
WordPress & Backbone.jsWordPress & Backbone.js
WordPress & Backbone.js
 
Beginning MEAN Stack
Beginning MEAN StackBeginning MEAN Stack
Beginning MEAN Stack
 
Building great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapiBuilding great spa’s with angular js, asp.net mvc and webapi
Building great spa’s with angular js, asp.net mvc and webapi
 
Front-End Frameworks: a quick overview
Front-End Frameworks: a quick overviewFront-End Frameworks: a quick overview
Front-End Frameworks: a quick overview
 
Full stack JavaScript - the folly of choice
Full stack JavaScript - the folly of choiceFull stack JavaScript - the folly of choice
Full stack JavaScript - the folly of choice
 
Introduction to JavaScript Full Stack
Introduction to JavaScript Full StackIntroduction to JavaScript Full Stack
Introduction to JavaScript Full Stack
 
Javascript & Jquery
Javascript & JqueryJavascript & Jquery
Javascript & Jquery
 
Get MEAN! Node.js and the MEAN stack
Get MEAN!  Node.js and the MEAN stackGet MEAN!  Node.js and the MEAN stack
Get MEAN! Node.js and the MEAN stack
 
Single Page Application
Single Page ApplicationSingle Page Application
Single Page Application
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN StackMongoDB Days Silicon Valley: Building Applications with the MEAN Stack
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
 
A Gentle Introduction to Blazor
A Gentle Introduction to BlazorA Gentle Introduction to Blazor
A Gentle Introduction to Blazor
 
Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.Webservices: connecting Joomla! with other programs.
Webservices: connecting Joomla! with other programs.
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stack
 
Codegen2021 blazor mobile
Codegen2021 blazor mobileCodegen2021 blazor mobile
Codegen2021 blazor mobile
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stack
 

Viewers also liked

Frontend++
Frontend++Frontend++
Frontend++
Alexander Roche
 
AngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW FrameworkAngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW Framework
Edureka!
 
Pre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson VersionPre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson Version
Sheila Wilson
 
Nisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat typesNisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat types
Sheila Wilson
 
اتوکلاو
اتوکلاواتوکلاو
NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013
Sheila Wilson
 
Intro to nisqually and water quality 2015
Intro to nisqually and water quality 2015Intro to nisqually and water quality 2015
Intro to nisqually and water quality 2015
Sheila Wilson
 
Premis Sant Jordi 2015
Premis Sant Jordi 2015Premis Sant Jordi 2015
Premis Sant Jordi 2015
ciclesuperiorescolapalau
 
Burning Fat Supplements
Burning Fat SupplementsBurning Fat Supplements
Burning Fat Supplementsbroxtermanc
 
HEM FET ARPILLERES. Segon
HEM FET ARPILLERES. SegonHEM FET ARPILLERES. Segon
HEM FET ARPILLERES. Segon
ciclesuperiorescolapalau
 
Сегодняшние источники финансирования для украинских компаний
Сегодняшние источники финансирования для украинских компанийСегодняшние источники финансирования для украинских компаний
Сегодняшние источники финансирования для украинских компаний
Expert and Consulting (EnC)
 
Women Relationship
Women RelationshipWomen Relationship
Women Relationshipbroxtermanc
 
Congress i,salmon slide
Congress i,salmon slideCongress i,salmon slide
Congress i,salmon slideSheila Wilson
 
CANTÀNIA 6è AL BELL MIG DE LA TERRA
CANTÀNIA 6è AL BELL MIG DE LA TERRACANTÀNIA 6è AL BELL MIG DE LA TERRA
CANTÀNIA 6è AL BELL MIG DE LA TERRA
ciclesuperiorescolapalau
 
Alicia Keefe- Climate Change
Alicia Keefe- Climate Change Alicia Keefe- Climate Change
Alicia Keefe- Climate Change
Sheila Wilson
 
Trobada d'arpilleristes de sisè a Palau-solità i Plegamans
Trobada d'arpilleristes de sisè a Palau-solità i PlegamansTrobada d'arpilleristes de sisè a Palau-solità i Plegamans
Trobada d'arpilleristes de sisè a Palau-solità i Plegamans
ciclesuperiorescolapalau
 

Viewers also liked (19)

Frontend++
Frontend++Frontend++
Frontend++
 
AngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW FrameworkAngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW Framework
 
Pre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson VersionPre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson Version
 
Museu d'Història de Catalunya
Museu d'Història de CatalunyaMuseu d'Història de Catalunya
Museu d'Història de Catalunya
 
Nisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat typesNisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat types
 
اتوکلاو
اتوکلاواتوکلاو
اتوکلاو
 
NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013
 
Intro to nisqually and water quality 2015
Intro to nisqually and water quality 2015Intro to nisqually and water quality 2015
Intro to nisqually and water quality 2015
 
Premis Sant Jordi 2015
Premis Sant Jordi 2015Premis Sant Jordi 2015
Premis Sant Jordi 2015
 
Padrins i fillols de 5èA i 1rA
Padrins i fillols de 5èA i 1rAPadrins i fillols de 5èA i 1rA
Padrins i fillols de 5èA i 1rA
 
Burning Fat Supplements
Burning Fat SupplementsBurning Fat Supplements
Burning Fat Supplements
 
HEM FET ARPILLERES. Segon
HEM FET ARPILLERES. SegonHEM FET ARPILLERES. Segon
HEM FET ARPILLERES. Segon
 
Сегодняшние источники финансирования для украинских компаний
Сегодняшние источники финансирования для украинских компанийСегодняшние источники финансирования для украинских компаний
Сегодняшние источники финансирования для украинских компаний
 
Women Relationship
Women RelationshipWomen Relationship
Women Relationship
 
Padrins i fillols de 5è B i 1r B
Padrins i fillols de 5è B i 1r BPadrins i fillols de 5è B i 1r B
Padrins i fillols de 5è B i 1r B
 
Congress i,salmon slide
Congress i,salmon slideCongress i,salmon slide
Congress i,salmon slide
 
CANTÀNIA 6è AL BELL MIG DE LA TERRA
CANTÀNIA 6è AL BELL MIG DE LA TERRACANTÀNIA 6è AL BELL MIG DE LA TERRA
CANTÀNIA 6è AL BELL MIG DE LA TERRA
 
Alicia Keefe- Climate Change
Alicia Keefe- Climate Change Alicia Keefe- Climate Change
Alicia Keefe- Climate Change
 
Trobada d'arpilleristes de sisè a Palau-solità i Plegamans
Trobada d'arpilleristes de sisè a Palau-solità i PlegamansTrobada d'arpilleristes de sisè a Palau-solità i Plegamans
Trobada d'arpilleristes de sisè a Palau-solità i Plegamans
 

Similar to Keystone.js 101

Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
Aymeric Weinbach
 
A nodejs application
A nodejs applicationA nodejs application
A nodejs application
Robbie Clutton
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
Ortus Solutions, Corp
 
Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
Jamal Sinclair O'Garro
 
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
Speedment, Inc.
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
Malin Weiss
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
Ganesh Kondal
 
Angularjs for kolkata drupal meetup
Angularjs for kolkata drupal meetupAngularjs for kolkata drupal meetup
Angularjs for kolkata drupal meetupGoutam Dey
 
Native script overview
Native script overviewNative script overview
Native script overview
Baskar rao Dsn
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming model
Alex Thissen
 
Mini-Training: NancyFX
Mini-Training: NancyFXMini-Training: NancyFX
Mini-Training: NancyFX
Betclic Everest Group Tech Team
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5
Daniel Fisher
 
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpChalermpon Areepong
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
Ryan Cuprak
 
MongoDB and Ruby on Rails
MongoDB and Ruby on RailsMongoDB and Ruby on Rails
MongoDB and Ruby on Railsrfischer20
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
Sigit52
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescript
Amir Barylko
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
Alex Thissen
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
Taylor Lovett
 
Irfan maulana nodejs web development
Irfan maulana   nodejs web developmentIrfan maulana   nodejs web development
Irfan maulana nodejs web development
PHP Indonesia
 

Similar to Keystone.js 101 (20)

Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
 
A nodejs application
A nodejs applicationA nodejs application
A nodejs application
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
Intro to Node.js
Intro to Node.jsIntro to Node.js
Intro to Node.js
 
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...
 
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...
 
NodeJS - Server Side JS
NodeJS - Server Side JS NodeJS - Server Side JS
NodeJS - Server Side JS
 
Angularjs for kolkata drupal meetup
Angularjs for kolkata drupal meetupAngularjs for kolkata drupal meetup
Angularjs for kolkata drupal meetup
 
Native script overview
Native script overviewNative script overview
Native script overview
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming model
 
Mini-Training: NancyFX
Mini-Training: NancyFXMini-Training: NancyFX
Mini-Training: NancyFX
 
2011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 52011 NetUG HH: ASP.NET MVC & HTML 5
2011 NetUG HH: ASP.NET MVC & HTML 5
 
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
MongoDB and Ruby on Rails
MongoDB and Ruby on RailsMongoDB and Ruby on Rails
MongoDB and Ruby on Rails
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
Awesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescriptAwesome html with ujs, jQuery and coffeescript
Awesome html with ujs, jQuery and coffeescript
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET Platform
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
Irfan maulana nodejs web development
Irfan maulana   nodejs web developmentIrfan maulana   nodejs web development
Irfan maulana nodejs web development
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

Keystone.js 101

  • 2. WHAT IS KEYSTONE.JS? • NodeJS based CMS ! • MVC Framework ! • Creates an admin panel by default ! • Javascript. Javascript everywhere.
  • 3. INCLUDES • ExpressJS ! ! ! • MongoDB
  • 4. HOW TO INSTALL • Pre-requisites: MongoDB , NodeJS, NPM $ NPM INSTALL -G GENERATOR-KEYSTONE $ YO KEYSTONE $ NODE KEYSTONE
  • 5.
  • 6. INCLUDES • ExpressJS • MongoDB • Cloudinary • Mandrill • Gulp/Grunt • Handlebars/Jade/Swig/ Nunjucks
  • 7. NOW WHAT? • PACKAGE.JSON for any extra node modules you might want. • KEYSTONE.JS for config options • Routing in ROUTES/VIEWS/ INDEX.JS • Models in MODELS/ • Views in TEMPLATES/VIEWS/ • Controllers in ROUTES/VIEWS/ • Front End Resources in PUBLIC/
  • 8. PACKAGE.JSON • Manages dependencies in node • Anything in npmjs.org can be referenced here • NPM INSTALL will retrieve dependencies and install them to NODE_MODULES • Never commit NODE_MODULES
  • 9. KEYSTONE.JS • Main config and boot file • Email • Routes • Local Variables • Emailing Rules • Nav Elements in Admin • Custom templating engines can be used • Here’s where you set your database up as well
  • 10. ROUTING • ExpressJS style routing, hence familiar syntax ! • Error pages can be defined ! • Most anything you can do in Laravel, you can do here.
  • 12. MODELS • Created as a keystone.List • .add method enables you to add keys to the model • Changes to models are incorporated in to the database on restart • Config options for which columns to show in admin Types: Boolean, Text, Textarea, Email, Url, Html, Color, Date, Datetime, Key, Number, Money, Select, Markdown, Name, Password, Location, CloudinaryImage, CloudinaryImages, LocalFile, S3 File, Embedly
  • 13. VIEWS • Any tempting language you want, just set it up in keystone.js • Data is passed by setting it the controller as a locals parameter on the response.
  • 14. CONTROLLERS • Contain all the logic from the request to the view being rendered. • Parameters passed to the view through the response argument of keystone.View • External files can be included and external functionality used • Views are rendered with the .render function • Additional parameters can be passed in to render
  • 16. NRG NEWS A BLOGGING PLATFORM WRITTEN IN KEYSTONE.JS
  • 17. THANK YOU FOR LISTENING!