/ Engineering

Rockstar Cafe's Tech Stack

Hey everyone! In this blog post I'll be talking about how we built Rockstar Cafe from the ground up. I started building out Rockstar Cafe's Online Platform back in 2016 January, and it's come a long way since then!

Our Technology Stack

  • React for our View layer
  • Redux to manage our application and view state
  • Stylus for CSS preprocessor
  • Google's Firebase as our NoSQL persistence & real-time store (It's amazing!)
  • Algolia powers our searching & filtering (We replicate & index our data from Firebase to enable <100ms search queries)
  • NodeJS + ExpressJS for our backend.
    We primarily use this to serve our web app, rendering certain pages from the server-side for Facebook/LinkedIn/Twitter sharing, Google Drive Authentication and keeping Algolia in sync w/ Firebase)
  • AWS S3 for saving images

Other technologies used

  • Webpack is used for our development & bundling our assets
  • Docker for consistent dev & production environments. Also makes it really easy to onboard new developers (Takes less than an hour to completely get a new dev up & running!)
  • Nginx as a reverse proxy for customized onboarding routes. Some of our partners rather use custom-name.rockstar-cafe.ca as opposed to experience.rockstar-cafe.ca/login?community=custom-name, this is super important for making it easy to onboard new users!
  • Heroku is used for deploying our applications, one thing I absolutely love about Heroku is their Review Apps, basically you can spin up a new Pull Request and it'd create a completely new web app instance for you to share with your team. It's awesome for getting quick feedback in an extremely visual way. Highly recommend it!
  • ZenHub for agile project management! ZenHub basically adds superpowers onto the github interface itself, via features such as kanban boards, epics, milestones, auto-burndown chart generation it's got everything that's needed to keep track of everything without having to context switch to Trello or something. (I was so inspired by ZenHub that I created KanHub which allows you to have real-time standups without ever leaving github)
  • Mocha for testing, Sinon for mocking and expect.js for assertion library
  • Travis CI for automatically running regressions/unit tests for each commit & pull request

I'm always super open to chatting about the tech stack :)