Skip to content
A demo application showing how to deploy a scalable realtime chat application powered by Socket.io, Node.js, Docker, and AWS Fargate, and deployed using a CI/CD pipeline powered by AWS CodePipeline
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
deps
docs
services All the latest changes, including security updates for NPM packages Jun 22, 2018
.eslintrc In-progress save of a complete revamp of the interface, with added au… Mar 29, 2018
.gitignore
LICENSE.md
Makefile
README.md
chat-service.yml
cluster.yml
docker-compose.yml
pipeline.yml Fully working all local experience now Jun 13, 2018
resources.yml Parallelization for the pipeline May 30, 2018

README.md

Fargate.chat

app

A simple Slack-like chat app built with Node.js and Vue.js and deployed using Amazon Web Services, running in Docker containers in AWS Fargate.

Features:

  • No EC2 instances. One of the goals of this application architecture is that it is very hands off, nothing to manage or update.
  • Fully defined as infrastructure as code, using AWS CloudFormation to create all the application resources.
  • CI/CD Pipeline using AWS CodePipeline, so that you can just push to the Github and it will automatically deploy.
  • Automated Docker container builds using AWS CodeBuild

You can view a running copy of this app, deployed on AWS at: fargate.chat

Deploy it yourself

This repository includes instructions for how to deploy this application yourself, including buying your own Route 53 domain name, creating an SSL certificate, setting up the CI/CD pipeline.

Run it locally

To run the application on your local machine you need:

  • docker
  • docker-compose
  • make

Execute the following command:

make run

The application will be available at http://localhost:3000

If you make changes to the code, you can run:

make build

This updates the client application.

To run integration tests execute:

make test
You can’t perform that action at this time.