Skip to content

ashvegeta/WhisperWave-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WhisperWave

A simple chat application written in Golang

About

WhisperWave is an application that emerged as a hobby project to understand and simulate real-time chat applications. To understand in detail, the project structure, data flow and the thinking process behind the database design, click on the medium post.

System Design

2-user system design

DataBase Design

Database Design Overview

Tech Stack

Project Setup

  1. To set up the project, clone the repository by typing:

    git clone
    
  2. Install all the golang modules declared in go.mod file using:

    go mod download
    
  3. Follow the official RabbitMQ documentation or visit dockerhub to download the server image:

    docker pull rabbitmq:3.12-management
    
  4. Run the RabbitMQ docker container and map it to the port of your liking:

    docker run -d --hostname [your-hostname] --name [docker-server-name] -p [service-port]:5672 -p [management-port]:15672 rabbitmq:3.12-management
  5. Confgure AWS Credentials using AWS CLI:

    aws configure
    
  6. Enter the root directory of the project where the MakeFile is present and type:

    make