ocr feed

This is a simple project made to play around with kubernetes with some fun extra stuff.

This project is available on github.

Overview

  • Server rendering of Single-Page javascript application
  • Hosted with Kubernetes on AWS
  • Basic OCR features
  • Feed of messages
  • Native node modules used

The server

The server is implemented as a very simple

Nodejs native modules

The client

Local Development/Deployment

docker-compose.yml overview

The compose file consists of 3 services:

  • The client

Which serves the Ember Fastboot server allowing server rendering of our Emberjs single-page application.

Two environment variables are required for the client.

    - API_HOST=http://localhost:3000
    - FASTBOOT_API_HOST=http://server:3000

The API_HOST variable is the api url the javascript running on browser will use. It needs to point to an hostname to a server instance available from outside the AWS VPC. In other words, it is the public address of our server service.

The FASTBOOT_API_HOST variables is the api url that will be used by fastboot when doing server rendering. For faster rendering, it should point to a server instance without leaving the amazon network and going through public routes. To put it simply, it is the private address to our server service.

  • server

Which serves the express server running our API.

It only requires one environment variable. PG_CONNECTION_STRING is the connection string pointing to the postgres instance.

  • postgres

This is just a simple postgres instance without persistent volumes or state. Whenever it restarts, we lose all data.

Deploying it

CircleCI Setup

References