karibou-ch / karibou-quad

Caractérisation de la qualité d'un réseau alimentaire décentralisé (QAD)
GNU General Public License v3.0
0 stars 1 forks source link

Caractérisation de la qualité d'un réseau alimentaire décentralisé (QAD)

chèque d’innovation 2013-2016 - Conseils en recherche et en innovation pour PME

Problème à résoudre

Jusqu’à présent la technologie utilisée dans la chaîne alimentaire a été principalement orientée vers l’augmentation de la rentabilité par l’usage de plus de machines et plus de chimie. Aujourd’hui, la principale révolution technologique s'axe autour de l’organisation de l’information et peut mener au remplacement d’un modèle vertical (top-down) a un modèle latéral (bottom-up). Nous pensons que la chaîne alimentaire n’est plus nécessairement tributaire d’une structure verticale pour organiser, valoriser et distribuer son travail. Le petit commerce local peut se réinventer tout en conservant son autonomie, mutualiser une logistique en flux tendu et offrir au consommateur des outils transparents pour (re)créer les liens entre production et alimentation. La start-up karibou.ch est née de ce constat, elle est organisée en un marketplace de e-commerce alimentaire fonctionnant en peer to peer (P2P) qui met en relation les agriculteurs, artisans et boutiques de commerce de proximité avec leurs clients. Selon le mode P2P, chaque boutique est autonome et effectue la vente directement auprès de ses clients. Cette inversion de hiérarchie de la logistique réinvente la distribution alimentaire en faisant diminuer drastiquement les coûts de la logistique.

Dans ce contexte peer-to-peer (décentralisé) et sans contrôle central, la mesure de la qualité du service et des produits est un élément crucial. C’est le premier enjeu de cette recherche.

Objectif

Comment déterminer une valeur objective à un produit, un commerçant, à la livraison ? Comment détecter rapidement une variation de qualité ?
Notre objectif est de trouver un ou N algorithmes qui pourront évaluer la qualité du réseau, d'un individu, d'un produit et d'une boutique

Required knowledge: machine learning, deep learning, computer science, nodejs, npm, mongodb
Difficulty level: intermediate
Mentors: Florent Gluck, Olivier Evalet

Authors & spcial thanks :heart:

Task Idea

Expected results

About the data

Orders (size ~1200) contains all information about user, products, time, etc. Here a small description:

{
    "oid": 2000002,
    "shipping": {
      "postalCode": "1205",
      "when": "2014-12-12T15:00:00.000Z",
      "bags": 2  /** Number of shipped bags for this order */
    },
    "customer": {
      "id": 2180215629900685,
      "pseudo": "f**i",
      "created": "2014-12-09T23:28:45.138Z"
      "likes":[] /** prefered SKU */
    },
    "vendors": [{
          "slug": "les-fromages-de-gaetan",
          "discount":2.90
        },
        ...
    ],
    "items": [
      {
        "title": "Hommos",
        "sku": 1000013,
        "vendor": "crocorient",
        "image": "",
        "estimatedprice": 5,
        "finalprice": 5,
        "qty": 1,
        "category": "Traiteur",
        "status": "failure",
        "issue": {
          "name": "issue_missing_product",
          "missing_product": 1,
          "quality_collect": 0,
          "quality_feedback": 0
        },
      ...

Basic requirements

Experience and familiarity with most/all of these:

Helpful extras

General understanding of any of these:

First iteration: May 2017

Milestones

Project runs from 1st of May 2017 to 2nd of June 2017 approximately (~5 weeks to 40%)

Documentation

A wiki is provide for more details.

Prototype

A prototype is developed to illustrate statistics from JSON data with JS ecosystem technologies:

These technologies are closed to those used by production current solution.

Dependencies to run the project

Run all the project

Configure Docker

You can skip this step if you already have docker configured. This command allows you to start docker without root rights.

sudo systemctl start docker
Simulate the mongodb 3.4 database in a Docker container (more details here)

The build import the JSON into the MongoDB database and update dates in a string format to ISODate format. In the tests folder, run:

cd karibou-quad/tests
docker-compose build 
docker-compose up -d
Start Rest API (more details here)

Start the Rest API for the statistics requests. In the server folder, run:

cd karibou-quad/server
npm install
node server.js
Start the dashboard (more details here)

Start the client dashboard. In the client folder, run:

cd karibou-quad/client
npm install
./node_modules/@angular/cli/bin/ng serve

If Angular CLI is installed on your machine, you can simply run ng serve.

Watch the stats on localhost:4200. Enjoy! See the wiki for more documentation.