Giter VIP home page Giter VIP logo

omni-cim's Introduction

Omni Customer Interaction Management

This project was built as part of an interview challenge, to develop a Customer Interaction Management system design and a small feature for creating user accounts.

The following are the deliverables of this challenge:


Requirements

Please, make sure you have the following installed

  • Docker
  • Docker Compose

You can use this command to check:

$ docker -v && docker-compose -v

How-To Use

$ git clone [email protected]:ruancarvalho/omni-cim.git
$ cd omni-cim/

Pull and Build all container images with:

$ docker-compose build

First-time Only

Use docker compose to create a MySQL database

$ docker-compose run server sequelize db:create

Use docker compose to create the tables

$ docker-compose run server sequelize db:migrate

Now, start all containers with:

$ docker-compose up

Services

localhost:3000 - the omni-cim-panel which is the front-end app

localhost:5000 - the omni-cim-server backend api

localhost:8080 - the "adminer" which is a very simple database client, so you can see the tables.


Problem and Proposed Solution

Currently, we provide several digital channels for interaction with people that make up our customers profile. We identified the need to unify the user experience of in all channels, in a more objective, precise enable the following actions:

  • Start interaction on any channel;
  • Continue the interaction from any channel, that is, an interaction started in channel A must be continued fluidly in channel B;
  • Receive message on the channel opened by the user, even if no interaction has been performed by him on this channel.

To make this concept of Omnichannel possible, a scalable infrastructure is required to serve all people who consume our services daily.

This is a Context Diagram of the proposed solution, using C4 Model notation:

Image of System Context

Please, reach to the diagrams folder to see the Container and Deployment models.

omni-cim's People

Contributors

ruancarvalho avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.