- Zadání projektu obsahuje všechny požadavky na projekt.
- Projektový portál workshopu, hodnocení, harmonogramu a týmů.
- Business Request kniha (User Stories, Vize, atd.)
- Business Model kniha (Actors, Use Cases, atd.)
- Application Model kniha (Route, Schema, atd.)
- Stránka předmětu s materiály (učebnice, videa, příklady, atd.)
- Práce s Git - učebnice
- Server Side JS - učebnice
- Pokročilý JavaScript - učebnice
- Základy ReactJS - učebnice
- Případová studie uuJokes:
- uuJokes - Odkaz na aplikaci
- uuJokes - Business Requests
- uuJokes - Business Model
- uuJokes - Application Model
- Visual Studio Code - https://code.visualstudio.com/Download
- Node.js - https://nodejs.org/en/download
- Git - https://git-scm.com/downloads
- Tester API serveru (GET/POST):
- Postman - https://www.postman.com/downloads/
- Insomnia - https://insomnia.rest/download
- Příkaz
git clone https://github.com/Neolker/PizzaMania
anebo pomocí GUI ve VSCode - Otevřít si dva terminály, první pro server:
- Ze složky serveru
cd .\server\
- Příkaz
npm i
nainstaluje všechny potřebné balíčky (Express.js apod.), stačí spustit jednou - Server potom spustíme příkazem
npm start
- Měl by potom server běžet na http://localhost:8000
- Zastavit server jde potom klávesovou zkratkou
CTRL + C
, napsánímY
a potvrzenímENTER
- Opětovné spuštění pomocí
npm start
- například po změně v kódu serveru (nezapomeňte uložit!) nebo si pomůžetešipkou nahoru
v terminálu pro listování příkazů z historie
- Ze složky serveru
- V druhém terminálu si spustíme client:
- Opět se přesuneme do složky clienta
cd .\client\
- Příkaz
npm i
nainstaluje všechny potřebné balíčky (React.js apod.) - Příkaz
npm run eject
nám dovolí použit SCSS - Příkaz
npm i sass-loader node-sass save
nainstaluje sass-loader který nám pomůže zkompilovat SCSS - Příkaz
npm i bootstrap-icons
nainstaluje všechny ikony od Bootstrap - Client potom spustíme stejným příkazem
npm start
- Client by se měl spustit sám v prohlížeči na adrese: http://localhost:3000/
- Ukončit client potom stejnou zkratkou
CTRL + C
- Opět se přesuneme do složky clienta
- POST požadavky předávají parametry v JSON formátu v Body, většinou jde o data z formulářů
- GET požadavky předávají parametry, které jsou součástí URL (route)
URI | METODA | VSTUP | VÝSTUP |
---|---|---|---|
recipe/super-create | POST | name , description , procedure , ingredients[] {id, amount} |
id , name , description , procedure , ingredients[] {id, amount} |
recipe/super-update | POST | id , name , description , procedure , ingredients[] {id, amount} |
id , name , description , procedure , ingredients[] {id, amount} |
recipe/create | POST | name , description , procedure |
id , name , description , procedure , ingredients[] {id, amount} |
recipe/get | GET | id |
id , name , description , procedure , ingredients[] {id, amount} |
recipe/update | POST | id , name , description , procedure |
id , name , description , procedure , ingredients[] {id, amount} |
recipe/delete | POST | id |
- |
recipe/list | GET | - | recipes[] {id,name,description,procedure,ingredients[] {id, amount} } |
recipe/add-ingredient | POST | id_recipe , id_ingredient , amount |
id , name , description , procedure , ingredients[] {id, amount} |
recipe/delete-ingredient | POST | id_recipe , id_ingredient |
id , name , description , procedure , ingredients[] {id, amount} |
recipe/update-ingredient | POST | id_recipe , id_ingredient , amount |
id , name , description , procedure , ingredients[] {id, amount} |
ingredient/create | POST | name , unit |
id , name , unit |
ingredient/get | GET | id |
id , name , unit |
ingredient/update | POST | id , name , unit |
id , name , unit |
ingredient/delete | POST | id |
- |
ingredient/list | GET | - | ingredients[] {id, name, unit} |
[
{
"id": "REC-e6823940",
"name": "Pizza Margherita",
"description": "Klasická pizza",
"procedure": "Předehřejte troubu na 220 °C...",
"ingredients": [
{
"id": "ING-239e0305",
"amount": 50
},
{
"id": "ING-7ecadb7b",
"amount": 10
}
]
},
{
"id": "REC-1f1ddb76",
"name": "Pizza XXX",
"description": "Klasická pizza",
"procedure": "Předehřejte troubu na 220 °C...",
"ingredients": [
{
"id": "ING-239e0305",
"amount": 25
},
{
"id": "ING-6ff59e25",
"amount": 20
}
]
},
{
"id": "REC-63c5eb4c",
"name": "Pizza TEST",
"description": "Klasická pizza",
"procedure": "Předehřejte troubu na 220 °C...",
"ingredients": [
{
"id": "ING-239e0305",
"amount": 5
},
{
"id": "ING-7c09dfa1",
"amount": 15
},
{
"id": "ING-6ff59e25",
"amount": 10
}
]
}
]
[
{
"id": "ING-239e0305",
"name": "Sýr",
"unit": "g"
},
{
"id": "ING-7c09dfa1",
"name": "Rajčatový protlak",
"unit": "ml"
},
{
"id": "ING-6ff59e25",
"name": "Šunka",
"unit": "g"
},
{
"id": "ING-7ecadb7b",
"name": "Salám",
"unit": "ks"
}
]