SharpRestoVRII

From ICO wiki
Revision as of 21:20, 28 May 2018 by Luksti (talk | contribs) (→‎API)
Jump to navigationJump to search

Meeskond

  • Andres Aava (lahkunud liige)
  • Henri Annilo
  • Jaan Koolmeister
  • Lauri Üksti

Esitused

Lähtekood: CSharpResto

Retsensioonid:

Tehnoloogia

Server: ASP.NET Core 2.0
Klient: WPF
DB: SQL Server (Azure)

Ülevaade

Tegemist on SharpResto jätkuprojektiga.

Eesmärk on luua restoranihalduse teenus

  • kasutaja saab pärida, lisada ja muuta menüü komponente
  • kasutaja saab pärida, lisada ja muuta esitatud tellimusi
  • kasutaja saab pärida statistikat tellimuste kohta
  • eri teenuste ligipääs on piiratav kasutaja- ning grupipõhiselt
  • staatiline informatsioon hoitakse serveri vahemälus

API

Täpsema implementatsiooni lõplikest teenustest leiab siit Lisatud on paar tehnilist teenust (health'i ja security tokeni tarbeks) ja mõned teenused tulevikuks (nt kuupäeva vahemikuga arvete tagastamine).

Menüü teenus
GET api/menu
Tagastab kõik menüü artiklid menüü vaate jaoks
Parameetrid:

id (valikuline)

Väljund:

{
"MenuItem":
[{ //menuitem objekt},
{ //menuitem 2 },
{ //menuitem 3 }
]}

POST api/menu/
Loob uue menuItem’i
Body:

{ 
//new MenuItem object
}

Tagastab 201 või 400

PUT api/menu/{id}
Muudab olemasolevat menuItem’it
Body:

{ 
// changed MenuItem object
}

Tagastab 200, 400 või 404

Tellimuste teenus
GET api/orders
Tagastab kõik tellimused
Parameetrid:

id (valikuline)

Väljund:

{
    [{order1 object}, {order2 object}]
}

POST api/orders
Loob uue tellimuse
Body:

{
    <uus order objekt>  
}

Tagastab 201 või 400

PUT api/orders/{id}
Muudab tellimust (üldine)
Body:

{
    <muudetud order objekt>  
}

Tagastab 200, 400, või 404 </source>

PUT api/orders/setStatus/{id}
Muudab vaid tellimuse staatust
Body:

{status: <status>}

Tagastab 200, 400 või 404

Arvete teenus
Lõpetatud/serveeritud tellimuste salvestamine arveteks.
Hilisem arvete küsimine.

POST api/bills Arvete sisestamine.

Body:

{ 
   <Bill objekt>
}

Tagastab 200, 400 </source>

GET api/bills
Parameetrid:

id (valikuline)

Väljund:

{
   [{bill1 object}, 
    {bill2 object}]
}

Ajalogi

Analüüsi tegemine 25.03-01.04
Programmeerimine 04.02-27.05