Skip to content

Creating a Fibonacci Series Calculator Web-App using React.js, Docker's Multi-Containers Architecture, Travis-CI and AWS.

Notifications You must be signed in to change notification settings

samaysinghbisht/Multi-Docker-Container-Fibonacci-Series-Generator

Repository files navigation

Fibonacci Series Generator using Multi-Container Architecture of Docker

User Interface has been bootstrapped with Create React App.

This is a demo app built with an intention to successfully deploy a multi-container docker app on AWS BEANSTALK and can be served to end user.

Note: You can also deploy this app on your localhost by just using Docker-compose.yml present in the root directory of this project, it will get deployed on NGINX server

How to use the project:

  • Clone the repository
  • Navigate to the root directory of the project in your terminal
  • For deployment on you localhost:
    • run command "docker-compose up --build"
    • Access the application on localhost:3050
  • For deployment on AWS:
    • Setup Travis-CI
    • Setup AWS and it's services
    • Go to Elastic Beanstalk application and click on the URL provided for accessing the application over there

Steps to setup Travis-CI and AWS can be found here
Want to know more about docker??? CLICK HERE.

Note: This is link to the file present in another project, Open in new tab for convenience.

Tech-Stack Used:

  • For Development Environment
    • Docker
    • Docker-Compose
    • Services
      • NGINX
      • Postgres (from Docker Hub)
      • Redis (from Docker Hub)
  • For Production/Deployment Environment
    • Docker
    • Travic-CI
    • AWS
      • Elastic Beanstalk
      • RDS (Postgres)
      • ElastiCache (Redis)
      • IAM

Purpose of each file and folder in the root directory:

File/Folder Purpose
client Font End of the Application
server Express server
nginx Nginx server to route traffic between client and server
worker Actual logic for calculating the result and sending it back to redis-server

Project Architecture:

Application FLow:

App Flow

Nginx default.conf file:

Purpose: This file is going to override the default configuration of nginx that we receive out of the box and set them according to our project's requirement(s).

default conf architecture

Development Environment Flow:

App Architecture

Production Environment Flow:

Multi Container Prod Setup

About

Creating a Fibonacci Series Calculator Web-App using React.js, Docker's Multi-Containers Architecture, Travis-CI and AWS.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published