Skip to content

slava-sh/messenger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Messenger

Screenshot

The client is a single-page app built with React, Redux, ES6+, and webpack.

The backend is managed with Docker Compose. Containers:

name description technology
nginx front-end proxy, static file server Nginx
web API server Django REST framework
realtime notification server Node.js, Primus
queue message broker RabbitMQ
worker queue worker Celery
db database PostgreSQL

Architecture Overview

Running

  1. Create a Docker machine

    docker-machine create messenger.local --driver virtualbox
    eval $(docker-machine env messenger.local)
  2. (Optional) Add messenger.local to your hosts file:

    echo "$(docker-machine ip messenger.local) messenger.local" | sudo tee -a /etc/hosts
  3. Set up Docker Composer

    export COMPOSE_PROJECT_NAME=messenger COMPOSE_FILE=docker-compose/development.yml
  4. Build and start containers

    make deploy