Michele Titolo | Blog | Speaking

Building APIs in Hapi and Node.js

Controllers This is where it’s going to get interesting. I really liked how Padrino combined routes and logic in the same place, so I attempted to do so with Hapi. After combing through the boilerplate projects, I found the magic to allow me to split up my routes into separate controllers. It’s a simple module.exports = server; in my main index.js file. An interlude on module.exports Admittedly, before I sat down and started working on this test I dug a bit into how Node.

☞ Continue reading

Building the Skeleton in Hapi

After my last exploration went sour, I decided to do some more up-front research before diving into Hapi.js. In addition to the resources on Hapijs.com, I spent a lot of time googling for best practices. While there are a lot of blog posts and tutorials on using Hapi, there do not appear to be any standards around how applications are organized. The only open source projects related to boilerplates I found had few stars on GitHub and haven’t received updates in the past year.

☞ Continue reading

Building the Skeleton in Padrino

So in order to get a real feel for how Padrino and Hapi.js will work, I’m going to create the site skeleton and the basic APIs. In addition to the server app framework, I’ve made a number of other technical decisions: PicsNearMe has a relational database (sorry Mongo!). The database will be MySQL locally. I plan on taking advantage of Amazon’s new Aurora DB in production. For now, the app will serve statically generated HTML for the web front-end.

☞ Continue reading

Languages, frameworks, and tools, oh my!

A lot has changed since I spent time building websites. Figuring out where to start is slightly overwhelming. Around ever corner there is a decision: less or sass? grunt or gulp? django or rails? handlebars vs mustache vs angular? Without too many restrictions it’s easy to get lost in the sea of choice. So here are my criteria for choosing the technology for this project: Handles front and back end APIs are first-class citizens Connects with multiple kinds of databases Uses a sane front-end templating system Able to automate deployment Language Most people usually pick a language before picking a framework to use.

☞ Continue reading


One of my goals for 2016 is to successfully complete a side project. I haven’t had a personal side project since college, and I’ve been wanting to round out my experience with more web development. This isn’t my first web rodeo, but I haven’t worked on a majority-web project since 2012. It was in Rails 3, used Bootstrap 2, and GOSH was it fantastic. So what am I going to build?

☞ Continue reading

© 2018 Michele Titolo