Skip to content

Bainjamein/TP-Pizzas-NoSQL---MongoDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TP Pizza - NoSQL : MongoDB

MAALSI23

Benjamin Perchepied - Quentin Savéan

Commande pour run : docker-compose up --build

Etape 3 :

a. Quel est le montant total des commandes de pizzas (tous formats confondus) ?

2540 €

b. Combien de pizzas ont été commandées (toutes recettes et format confondus) ?

155 pizzas

c. Combien de pizzas "Vegan" ont été commandées ?

20 pizzas

d. Combien de pizzas ont été commandées en format "large" ?

40 pizzas

e. Quelle recette de pizza a été la plus vendue ?

Cheese

f. Quel format de pizza a été le plus vendu ?

Small

g. Quelle recette de pizza a rapporté le plus de revenus ?

Pepperoni

Etape 4 :

a. Calcul de la quantité de pizzas commandées par format "medium" pour chaque recette de pizza :

db.orders.aggregate([{ $group: { _id:{name:"$name", size:"medium" }, total_quantity: { $sum:"$quantity"}}}])

Pepperoni : 20 Cheese : 50 Vegan : 10

b. Calcul du nombre moyen de pizzas commandées :

db.orders.aggregate([{$group: {_id: null,average_quantity: { $avg: "$quantity" }}}])

19.375

Etape 5 :

a. Liste du menu des pizzas :

[{'name': 'Pepperoni', 'size': 'small', 'price': 19}, {'name': 'Pepperoni', 'size': 'medium', 'price': 20}, {'name': 'Pepperoni', 'size': 'large', 'price': 21}, {'name': 'Cheese', 'size': 'small', 'price': 12}, {'name': 'Cheese', 'size': 'medium', 'price': 13}, {'name': 'Cheese', 'size': 'large', 'price': 14}, {'name': 'Vegan', 'size': 'small', 'price': 17}, {'name': 'Vegan', 'size': 'medium', 'price': 18}]

Etape 6 :

a. HTTP GET /pizzas (retourne toutes les pizzas disponibles, au format JSON).

[
  {
    "name": "Pepperoni",
    "price": 19,
    "size": "small"
  },
  {
    "name": "Pepperoni",
    "price": 20,
    "size": "medium"
  },
  {
    "name": "Pepperoni",
    "price": 21,
    "size": "large"
  },
  {
    "name": "Cheese",
    "price": 12,
    "size": "small"
  },
  {
    "name": "Cheese",
    "price": 13,
    "size": "medium"
  },
  {
    "name": "Cheese",
    "price": 14,
    "size": "large"
  },
  {
    "name": "Vegan",
    "price": 17,
    "size": "small"
  },
  {
    "name": "Vegan",
    "price": 18,
    "size": "medium"
  }
]

b. HTTP GET /pizzas/65cf587aa0cd7bf4511ea25c (retourne la pizza selon son id avec ses différentes déclinaisons, au format JSON).

{
  "name": "Pepperoni",
  "price": 19,
  "size": "small"
}

c. HTTP GET /pizzas/{id}/declinations/{size} (retourne la pizza selon son id et la déclinaison renseignée et le prix associé, au format JSON).

Le besoin métier n'as pas été compris.

Etape 7 :

a. HTTP POST /auth/signup (création de compte client)

{
	"customer_id": "65cf7e4859d0bcf985a81e96",
	"message": "Compte client créé avec succès"
}

b. HTTP POST /auth/signin

{
	"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjdXN0b21lcl9pZCI6IjY1Y2Y3ZTQ4NTlkMGJjZjk4NWE4MWU5NiIsImV4cCI6MTcwODEwMDc2MX0.yzf9cjMsPKdcs91_cDKAzY2drSjml-xAqdWx3WUVvi8"
}

c. HTTP POST /auth/verify

"Vous etes un utilisateur valide"

D. HTTP GET /customers/me

{
	"login": "Cedric",
	"password": "$2b$12$noyDCq8RyhNdN21/pvXit.E5NIjzjXIpXeKnSmHPp384QAeDMUj2S"
}

Etape 8:

Initialisation de la base de donnée MongoDB et du service pizza_shop.


The End.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published