GithubHelp home page GithubHelp logo

ibm-cloud / logistics-wizard Goto Github PK

View Code? Open in Web Editor NEW
108.0 39.0 68.0 10.42 MB

The Logistics Wizard is an end-to-end, smart supply chain management solution that showcases how to execute hybrid cloud, microservices, and predictive data analytics in the real world.

License: Other

bluemix microservices openwhisk serverless cloudfoundry react loopback python nodejs ibm-cloud-solutions

logistics-wizard's Introduction

Logistics Wizard Overview

Logistics Wizard reimagines supply chain operations through a cloud-native architecture and services.

Today many companies use on-premises applications such as Enterprise Resource Planning systems to manage the supply chain. Logistics Wizard simulates an existing ERP system and enhances it with applications to improve visibility and agility. The provided ERP system implements a very small subset of features found in real-world ERP systems. The goal here is not to focus on ERP but rather showcase several common cloud implementation patterns such as: hybrid cloud, microservices, and data analytics that can be reused when building or enhancing enterprise applications.

One key scenario demonstrates how a supply chain can be made more agile during significant weather events. For any company with multiple distribution centers, retail stores and in-transit shipments, quickly adapting the supply chain to changing weather conditions can reduce shipment delays and operational cost.

Logistics Wizard on IBM Cloud

Try Logistics Wizard

Use the walkthrough to view and understand the features of Logistics Wizard.

Deploy Logistics Wizard

You can deploy your own Logistics Wizard in the following ways:

Architecture

Logistics Wizard consists of several microservices.

Architecture Diagram

  • logistics-wizard-erp defines the API used by Logistics Wizard to simulate data accessed from an ERP system. The simulator is a Node.js application connected to a database. The API manages users (supply chain managers and retail store managers), distribution centers, retail stores and shipments.

  • logistics-wizard-webui provides a dashboard to view ongoing shipments and alerts. There is no log-in or user credentials to use the deployed applications. Instead a unique demo ID is assigned to any new user trying the application. Behind each demo ID, Logistics Wizard creates an isolated environment with a default set of business users, distribution centers, retail stores and shipments.

  • logistics-wizard-recommendation makes shipment recommendations based on weather conditions. It is a set of IBM Cloud Functions to retrieve current weather conditions and generate new shipment recommendations. These recommendations can then be converted into orders.

  • logistics-wizard-controller acts as the main controller for interaction between the services. It receives requests from the user interface and routes them to the ERP or the weather recommendation service.

Related Blog Posts, Videos, etc

Project Milestones

GitHub milestones for this project and its children are managed by editing the repository config file. The syntax is described in this project. Modify the file and commit. Travis will take care of creating/updating the milestones.

Contribute

Please check out our Contributing Guidelines for detailed information on how you can lend a hand to Logistics Wizard.

License

See License.txt for license information.

๐Ÿ‘‡ Repositories ... Branches ๐Ÿ‘‰ master dev
logistics-wizard-erp Build Status Coverage Status Build Status Coverage Status
logistics-wizard-controller Build Status Coverage Status Build Status Coverage Status
logistics-wizard-recommendation Build Status Coverage Status Build Status Coverage Status
logistics-wizard-webui Build Status Coverage Status Build Status Coverage Status

logistics-wizard's People

Contributors

benrondeau avatar colbycheeze avatar jakepeyser avatar l2fprod avatar lindsay-ibm avatar rvennam avatar rvennam987 avatar scribblets avatar swetharepakula avatar van-ibm avatar vidyasagarmsc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

logistics-wizard's Issues

Determine Bluemix Value of Service

The Bluemix value proposition needs to be made clear for every service component involved in the Logistics Wizard solution. Every team building a service component needs to figure out what value Bluemix provides and how they will highlight this in their solution.

Understand how to manage the live demo usecase where multiple users connect to the same demo

related to #16

Let's assume we have deployed a Logistics Wizard demo in Bluemix. It has all the services deployed. It is accessible on the Internet to all Bluemix visitors.

The goal of the live demo if for clients to experience the app and also play with the scenarios like "a snowstorm" is coming. They run the business scenarios - not the more technical scenarios like "I want to simulate a connectivity failure of the database".

A new client connects to the LW demo site. She is prompted to register a new user id (should also be able to log in with 3rd party authentication like twitter/facebook/IBM ID).

Once logged, what does she see? We want to isolate the shipment data for other users. So we can have a new set of shipments created just for this user on first login. With the role/right management on the ERP service, we would make sure only her can see these shipments. This might require a customizable behavior in the ERP service to check more than the user role when returning shipments and also a way to identify a shipment as associated with a specific user. This would be needed only in the live demo scenario.

Once the ERP service API is able to filter shipments based on the connected user, the other services can use this filtering mechanism. As example, the recommendation service would have to make sure to only consider the shipments of the same user when making recommendations

Overtime we would want to cleanup the database too and get rid of users who registered a while ago but are no longer actively using the demo.

Design: Weather Event Notifications

As an inventory manager, I need to be notified when new shipments are suggested in anticipation of a significant weather event so that I can choose whether or not I want to create the order.

Create Weather Service wiki page

We need a wiki page that goes over the business value of the weather analytics service and talks about the key tech showcase concepts that it will cover. Please see the Controller API wiki page for reference.

Needs covering story

Finalize Login Token Design

Discuss and document the final process we will use for authentication/authorization and how each service will determine this using tokens

Currently considering using JWT

Story #11

Visualize Shipments

As an inventory manager, I want to be able to visualize the current shipments that are en-route.

Design Sign Up Flow

Flow for signing up in the UI needs to be finalized

  • will they designate their role upon signing up?
  • use a unique username instead of their email?

Story #11

Product Sales Data Retrieval

As a supply chain manager, I want to be able to view sales data for specific products at specific retail locations.

Decision Justification Propagation

As a supply chain manager, I need to be presented with the data and reasoning behind why shipments were recommended so that I can justify them accepting them.

Design: Generate Weather Event

The cognitive service would pull information from Weather channel (or is subscribed to weather events) and generates the event that could become originator of the "Auto-Create Shipment" event

Determine Value of Controller

Concretely define explicit value of the controller service and determine how that fits into the cloud development story

Story #15

Improved Suuply Chain Visibility

As a supply chain manager, I need the ability to see all current shipments, sales data, and product inventory so that I can make the best distribution decisions.

Wiki Link

Design: Weather-Based Event/Recommendations

As a supply chain manager, I want my logistics system to analyze weather data and historical purchasing data so that it can suggest additional shipments to increase sales.

Create Issue and PR Templates

Templates for issue and PR creation are needed to make sure all new GitHub Issues take our contributing guidelines into consideration.

  • Issue Template
  • PR Template

Create Contributing.md

Create a document for OSS contributing guidelines. This will help standardize the Issue and PR creation process for all contributors, internal and external.

Determine what objects will be shared

Since each user has their own data set for their login creds, we need to determine what objects will be shared between accounts and what objects will be unique.

Story #11

Connect to ERP System

As a supply chain manager, any new supply chain application must connect to my existing ERP system in order to display the correct data.

Shipment Details Algorithm

As an inventory manager, I want the proposed shipments to be predicated on multiple data sources so that they are accurately sized and on time to avoid late/unsatisfactory deliveries.

Flesh out Recommendations Service Use Case and Details

In Scope:

  • Centralized the Recommendation Services (a hub)which will take input from different other services/APIs/datas
    and give recommendations based.
  • The services is robust meaning that if one of the inputs services/APIs are down. The recommendation service is still up and running
  • The recommendations are actionable and programmatically consumable by other downstream services

Not in Scope:

  • Not building another Watson (but powered by Watson)
  • No deep learning (but powered by deep learning)
  • Not a general recommendation service?

Auto-Create Shipments

As an inventory manager, I want to maximize sales in the event of an opportunity to sell more goods when a significant weather event occurs.

Wiki Link

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.