Planning

The challenge for me is that I haven’t tried to build a kiosk. Most of the projects I built in the past were applications running on browser applications using Vue.js and Ruby on Rails.

I also come up with a research that most kiosks are running on desktop applications which leads me to use Electron. Electron supports cross platform (Mac, Linux, Windows)

Given these skill set I finally come up with a plan on building this app.

Image for post
Image for post
High Level Architecture of Kiosk App

Building

In this project, I maintain two separate code base. Frontend is Vue.js and Backend is Ruby on Rails.

The whole development became simpler…


Image for post
Image for post

From my previous article, I wrote about containerising a Ruby on Rails app. Now for this article my goal is to deploy this in production like AWS ECS Fargate.

Introduction to AWS ECS Fargate

ECS stands for Elastic Container Services. Currently there are 3 ways to deploy your image to AWS ECS.


CODEX

Image for post
Image for post

What and Why Docker is Useful?

Docker allows you to package up an application or service with all of its dependencies into a standardized unit. This unit is typically labeled as a Docker image.

In essence, Docker allows you to containers on top of a Host OS (Ubuntu, Mac, Windows) without having difficult configuration.

Installing Docker

Download and Install Docker from https://www.docker.com/

Creating Rails App

rails new rails_docker -d postgresql
cd rails_docker
bundle install
rails server

Currently when we visit localhost:3000, it’s running from our local machine not yet from the docker image.

Setup Docker for Rails

Create a Dockerfile on the root directory of your project and add the following content.

Note: I’m currently…

Allen Oliver M Chun

Full Stack Software Developer based in Singapore. Software Developer since 2012. Specialized in Ruby on Rails, Vue.js. AWS Development.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store