How new Node.js boilerplate framework was built
Eskimo conserves resources with igloo applications
The face of web development has changed. No longer does the term dredge up images of a lonely hacker in a basement—nowadays, everyone from business executives to schoolchildren enjoy learning how to code. This is, in part, thanks to the development of increasingly easier to use boilerplate tools. The goal of these tools is to enable coders to build rapid Minimum Viable Products (MVPs) in an organized and reliable, yet creative, fashion.
We've recently been contributing to a Node.js boilerplate called Eskimo. It was built with rapid MVP development in mind. Essentially, developers can construct 'igloos', or applications, using a flexible groundwork with an intuitive design. As for the name? Eskimo: it’s all about igloos.
Eskimo is a Node.js boilerplate framework used to build igloos. Igloos are libraries of components, injected by electrolyte, which are used as building blocks for an app. This is why it’s easy to use when building everything from MVP prototypes and Node.js powered APIs to e-commerce stores. The author combined the best open source packages available, minimizing the time to market and the effort to prototype and create a functional product. By working with a collection of world-class developers at Clevertech, experimenting with micro-projects, reusing tons of code, and testing lots of Node.js based frameworks, this new boilerplate has been made available to the public.
Why Eskimo? Eskimo was built with Lean Startup philosophies in mind. Lean principles champion a minimally built product which can be directed and sold to the right customer. There is an emphasis on conserving resources, while constructing a base product that is meant to be altered and improved by customer feedback. Despite the abundance of various development tools and Node.js frameworks intended to help the Lean software development community, an updated yet simple project starter was missing. There was a need for a tool that was able to create rapid Minimal Viable Products to be tested and deployed based on the principles of automation. In Lean terms, Eskimo was created to build Minimum Viable Products, or MVPs. MVPs emphasize speed and simplicity. Once a basic product is built, it can be pushed to the market, and redesigned as needed. When building an MVP, the focus needs to lie on the core, functional features. There’s no wasted time or energy on building unnecessary features. An MVP allows developers to see the success of a new app from the beginning, avoiding risks of failure by continuous testing and development iterations. Today this Lean development strategy is widely applied among IT services companies.
How Eskimo works
Eskimo provides a simple scaffolding of rapid MVPs (including Jade for HTML, Mongoose for NoSQL, a MongoDB database, a LESS pre-processor and middleware routing). It’s easily customizable, with a simple configuration file, which allows for the removal of the parts the user doesn’t need. The list of elements compatible with this tool contains: Express 4, Winston, Async, Passport.js, MongoHQ, RedisToGo, Travis-Cl, Heroku, Amazon EC2, Segment, Stripe, Hipchat, Slack, IRC, vBox, Electrolyte, MongoDB, SQL, LESS, Bower, jQuery, Bootstrap, Bootbox, Modernizr, Gulp.js, Jade, Vagrant, Vim w, Ubuntu, Git-extras, JSHint, among others.
Once the new project is created, the follow-up tasks can be also accomplished with Eskimo. Common operations such as Google or Facebook authentication, integration with a payment processing system, setup for a RESTful API, zero-downtime reloads, referral systems, webhook deployments, use of webSockets, and livereload can be quickly carried out. Several examples are available in the /examples file of the Eskimo repository in GitHub.
Eskimo is a complex tool that is simple and intuitive to use. Eskimo can be seen among the best Node.js frameworks by outranking many other frameworks and boilerplates, considering the number of built-in back-end features: Express 4, Dependency Injection, Gulp, Mocha, Travis, Test Coverage, as well as several front-end features: asset pipepline, bower, bootstrap 3, front awesome, Jade, Less.
Eskimo in action
Eskimo is already hard at work. Below are some products that have been developed using Eskimo.
Ourharvest.com is a virtual farmer’s market that comes with a simple yet awesome interface. The user can easily pick a market location and the desired pick-up date. Afterwards it’s simple to choose the products and perform the purchase.
Developer.marketprophit.com is an API which allows users to access API endpoints of a tool for financial big data analysis, providing information on crowd sentiment, market prophit sentiment, z-scores, moving averages, tweet volume, and/or tweet buzz in its database.
Seedfeed.com is an online community which connects investors with startups across all platforms. It provides the necessary information and tools to easily get in touch with a potential partner.
In the GitHub repository, the user will find all the necessary information to begin developing their own fast MVP: installation files, examples, templates, file an issue feature, contributors, and license type. Eskimo: You’ll want to get snowed in.