diogouchoas / chat-app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chat App

GitHub license GitHub issues GitHub stars

This repository uses Go (Backend), React (Frontend) and Redis (Messages storage) to deploy a simple chat-app application. There is two frontend docker images (Dockerfile.development and Dockerfile.production), the first one is used by docker-compose for development environment and the other one is used by Circle CI for production environment.

The production (backend) docker file is available on DockerHub - ricardob/chat-app-backend

The production (frontend) docker file is available on DockerHub - ricardob/chat-app-frontend

Table of Contents

  1. Requirements
  2. Installation
  3. License

Requirements

  • Git;
  • Go; (for development installation)
  • Docker; (for development installation)
  • Docker Compose; (for development installation)
  • nodejs, npm; (for development installation)
  • Circle CI account; (for production deployment)

Development Installation

Install and run the application locally:

Using Docker Compose:

  1. Clone the repository

With SSH

# git clone git@github.com:ricardobf/chat-app.git

or with HTTPS

# git clone https://github.com/ricardobf/chat-app.git
  1. Navigate to application folder:
# cd chat-app
  1. Run docker-compose command:
# docker-compose up
  1. On your browser navigate to localhost:3000

Obs.: You can change environment varibles inside docker-compose.yml file.

Production Installation

Running on Circle CI and GitHub

  1. Navigate to github.com/ricardobf/chat-app and fork the repository to your own workspace: github-fork

  2. On another tab, navigate to circleci.com and create or login to an existing Circle CI account using GitHub: circleci-1

  3. On Projects tab, choose the right repository application: circleci-2

  4. On project settings, create environment variables according to your DockerHub account and image name: circleci-envvar

  5. Wait for the pipeline to run.

License

This project uses Apache License.

About

License:Apache License 2.0


Languages

Language:JavaScript 37.0%Language:Go 36.1%Language:CSS 14.0%Language:HTML 10.1%Language:Dockerfile 2.8%