SlideShare a Scribd company logo
1 of 17
Download to read offline
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
Keystone.js 101
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

Web Applications Development with MEAN Stack
Web Applications Development with MEAN StackWeb Applications Development with MEAN Stack
Web Applications Development with MEAN StackShailendra Chauhan
 
WordPress & Backbone.js
WordPress & Backbone.jsWordPress & Backbone.js
WordPress & Backbone.jsAndrew 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 webapiMaurice 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 overviewDiacode
 
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 choiceFDConf
 
Introduction to JavaScript Full Stack
Introduction to JavaScript Full StackIntroduction to JavaScript Full Stack
Introduction to JavaScript Full StackMindfire Solutions
 
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 stackNicholas McClay
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN StackTroy 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 StackMongoDB
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackAvinash Kaza
 
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 StackDotitude
 
FULL stack -> MEAN stack
FULL stack -> MEAN stackFULL stack -> MEAN stack
FULL stack -> MEAN stackAshok Raj
 
Introduction to mean stack
Introduction to mean stackIntroduction to mean stack
Introduction to mean stackPraveen 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

AngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW FrameworkAngularJS : Superheroic JavaScript MVW Framework
AngularJS : Superheroic JavaScript MVW FrameworkEdureka!
 
Pre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson VersionPre-trip Planting Presentation- Anderson Version
Pre-trip Planting Presentation- Anderson VersionSheila Wilson
 
Nisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat typesNisqually National Wildlife Refuge - Habitat types
Nisqually National Wildlife Refuge - Habitat typesSheila Wilson
 
NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013NREP Ohop Tree Planting -Fall 2013
NREP Ohop Tree Planting -Fall 2013Sheila 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 2015Sheila Wilson
 
Burning Fat Supplements
Burning Fat SupplementsBurning Fat Supplements
Burning Fat Supplementsbroxtermanc
 
Сегодняшние источники финансирования для украинских компаний
Сегодняшние источники финансирования для украинских компанийСегодняшние источники финансирования для украинских компаний
Сегодняшние источники финансирования для украинских компаний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
 
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 Plegamansciclesuperiorescolapalau
 

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 managerAymeric Weinbach
 
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
 
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.
 
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 overviewBaskar 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 modelAlex Thissen
 
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 5Daniel 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.pptxSigit52
 
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 coffeescriptAmir Barylko
 
.NET Core: a new .NET Platform
.NET Core: a new .NET Platform.NET Core: a new .NET Platform
.NET Core: a new .NET PlatformAlex Thissen
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsTaylor Lovett
 
PHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentPHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentIrfan Maulana
 

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
 
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...
 
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...
 
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
 
PHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentPHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web Development
 

Recently uploaded

From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FESTBillieHyde
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingFrancesco Corti
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 

Recently uploaded (20)

From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FEST
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is going
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 

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
  • 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!