Sinatra is a Ruby framework that helps you quickly create web applications, APIs and microservices. Its minimalism not only attracted a lot of developers, but it has also inspired Flask in Python and Express in Node.js
This year, I decided to reboot pincodr. I spent time finding the right stack, tried building it in Phoenix/Elixir and Pliny in Ruby. However, in the end, I decided to stick to Sinatra, because I wanted to avoid rewrite and realized it was still a good choice.
Upgrading Sinatra and other packages was an easy process, however, I found myself struggling setting up production infra. It took me 3-4 days, just to sort out my deployment process as well as setting up the server. To save time for my next projects and to possibly help others, this weekend I spent some time extracting it as a bolierplate project called Scoop.
- Corneal to make scaffolding models, controllers and views easier
- ActiveRecord as database ORM
- Capistrano for deployment
- Puma as app server
- Nginx as a proxy server
- it is also JSON API ready with JSON, CORS and JSONP support already enabled,
- has a rails like console, and
- comes up with example script and rake task that can be used to perform tasks that load the environment
Do give Sinatra & Scoop a try.