Thinking about learning KeystoneJS? Read this first…

By Manikanta Panati

Before starting to talk about KeystoneJS, let’s look at why some developers prefer to use the Keystone.js framework over other frameworks that are available online. Simply put, Keystone.js provides a standardized set of components that allow for fast and easy development of web applications that can be quickly developed, maintained, and extended.

Keystone.js has a number of key features that makes it worth using including:

  • Modularity - Keystone will configure express - the de facto web server for node.js - for you and connect to your MongoDB database using Mongoose, the leading ODM package.
  • Auto-generated Admin UI - Whether you use it while you’re building out your application, or in production as a database content management system, Keystone’s Admin UI will save you time and make managing your data easy.
  • Session Management - Keystone comes ready out of the box with session management and authentication features, including automatic encryption for password fields.
  • Email Sending - Keystone makes it easy to set up, preview, and send template-based emails for your application. It also integrates with Mandrill.
  • Form Processing - Want to validate a form, upload an image, and update your database with a single line? Keystone can do that, based on the data models you’ve already defined.

Now, what is Keystone.js best for? It is a generic content management framework, which means that it can be used for developing a variety of web applications using JavaScript. Because of its modular architecture and clean separation of various functionalities, it is especially suitable for developing large-scale applications such as portals, forums, content management systems (CMS), e-commerce projects, RESTful Web services, and so on.

Keystone.js currently has two major versions available: 0.3.x and 0.4. At this time, version 0.4 is still a work in progress, adopting the latest technologies and protocols, including Mongoose 4, elemental UI, and core changes.

Thinking of learning KeystoneJS? The best way to learn a new technology is often by being able to visualize the various capabilities of the technology in terms of using them in the implementation of a real world project. Throughout the book Beginning KeystoneJS, I will introduce Keystone.js features and syntax in conjunction with developing IncTicket, a web based application that allows for the creation and management of incident tickets.

Through this real-life case, readers will learn to rapidly create interactions between data, user interface, and business logic, using KeystoneJS.

About the Author

Manikanta Panati has spent the last 10 years perfecting enterprise level application development using Microsoft and Open Source technologies. Recent projects include a very popular coupon site in Asia, a Node.js powered application that aggregates and maintains business data for over 2.2 million businesses.  With a Masters in Information Systems and a Masters in Project Management, and Microsoft Certified Technical specialist (MCTS), Microsoft Certified Professional Developer (MCPD) certifications, he still learns something new every day! Born and brought up in beautiful Bangalore, India, and presently based out of equally beautiful North Carolina, he works for a multinational financial institution managing migration and development of projects.

This article is excerpted from​​​​​​​ Beginning KeystoneJS: A practical introduction to KeystoneJS using a real-world project by Manikanta Panati, ISBN 978-1-48422-546-2.