Repository angelegt, json Files erstellt -> Kategorie und Speisen, service angelegt
31
Aps Single Page Anwendung/Controllers/SpeisenController.cs
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
using Aps_Single_Page_Anwendung.Models;
|
||||||
|
using Aps_Single_Page_Anwendung.Repositories;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Aps_Single_Page_Anwendung.Controllers
|
||||||
|
{
|
||||||
|
|
||||||
|
// Routing für den Controller
|
||||||
|
[ApiController]
|
||||||
|
[Route("api/[controller]")]
|
||||||
|
|
||||||
|
// Muss von ControllerBase erben, sonst muss die Schnittstelle selbst implmentiert werden
|
||||||
|
public class SpeisenController : ControllerBase
|
||||||
|
{
|
||||||
|
private readonly ISpeiseRepository _repository;
|
||||||
|
|
||||||
|
public SpeisenController(ISpeiseRepository repository)
|
||||||
|
{
|
||||||
|
_repository = repository;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
// Muss etwas zurück geben
|
||||||
|
public IEnumerable<Speise> Get()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
12
Aps Single Page Anwendung/Models/Kategorie.cs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Aps_Single_Page_Anwendung.Models
|
||||||
|
{
|
||||||
|
public class Kategorie
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Beschreibung { get; set; }
|
||||||
|
public virtual ICollection<Speise> Speisen { get; set; } = new HashSet<Speise>();
|
||||||
|
}
|
||||||
|
}
|
12
Aps Single Page Anwendung/Models/Speise.cs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
namespace Aps_Single_Page_Anwendung.Models
|
||||||
|
{
|
||||||
|
public class Speise
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Beschreibung { get; set; }
|
||||||
|
public double Preis { get; set; }
|
||||||
|
public int KategorieId { get; set; }
|
||||||
|
public Kategorie Kategorie { get; set; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
using Aps_Single_Page_Anwendung.Models;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Text.Json;
|
||||||
|
|
||||||
|
namespace Aps_Single_Page_Anwendung.Repositories
|
||||||
|
{
|
||||||
|
public class FileSpeiseRepository : ISpeiseRepository
|
||||||
|
{
|
||||||
|
private readonly string _path;
|
||||||
|
|
||||||
|
// Um den Absoluten Pfad zu bekommen, unabhängig davon, wo das Programm liegt
|
||||||
|
public FileSpeiseRepository(IWebHostEnvironment env)
|
||||||
|
{
|
||||||
|
_path = Path.Combine(env.ContentRootPath, "data", "speisen.json"); // Die Trennung via Slashes wird automatisch erkannt
|
||||||
|
}
|
||||||
|
|
||||||
|
// Implementierung der Methoden vom Interfave ISpeisenRepository
|
||||||
|
public Speise CreateSpeise(Speise speise)
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DeleteSpeise(int id)
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Speise GetSpeiseById(int id)
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<Speise> GetSpeisen()
|
||||||
|
{
|
||||||
|
var json = File.ReadAllText(_path);
|
||||||
|
var option = new JsonSerializerOptions
|
||||||
|
{
|
||||||
|
AllowTrailingCommas = true, // Ignoriert letzte Komma, fals vorhanden
|
||||||
|
PropertyNameCaseInsensitive = true // Ignoriert Groß und Kleinschreibung
|
||||||
|
};
|
||||||
|
var speisen = JsonSerializer.Deserialize<Speise[]>(json, option);
|
||||||
|
return speisen;
|
||||||
|
}
|
||||||
|
public Speise UpdateSpeise(Speise speise)
|
||||||
|
{
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
Aps Single Page Anwendung/Repositories/ISpeiseRepository.cs
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
using Aps_Single_Page_Anwendung.Models;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Aps_Single_Page_Anwendung.Repositories
|
||||||
|
{
|
||||||
|
public interface ISpeiseRepository
|
||||||
|
{
|
||||||
|
IEnumerable<Speise> GetSpeisen();
|
||||||
|
Speise GetSpeiseById(int id);
|
||||||
|
Speise CreateSpeise(Speise speise);
|
||||||
|
Speise UpdateSpeise(Speise speise);
|
||||||
|
void DeleteSpeise(int id);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +1,4 @@
|
||||||
|
using Aps_Single_Page_Anwendung.Repositories;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.HttpsPolicy;
|
using Microsoft.AspNetCore.HttpsPolicy;
|
||||||
|
@ -21,6 +22,11 @@ namespace Aps_Single_Page_Anwendung
|
||||||
public void ConfigureServices(IServiceCollection services)
|
public void ConfigureServices(IServiceCollection services)
|
||||||
{
|
{
|
||||||
services.AddControllersWithViews();
|
services.AddControllersWithViews();
|
||||||
|
|
||||||
|
// Sorgt dafür, das jedesmal wenn ein ISpeiseRep angefragt wird, wird ein FileSpeiseRep zurückgegeben
|
||||||
|
services.AddScoped<ISpeiseRepository, FileSpeiseRepository>();
|
||||||
|
|
||||||
|
|
||||||
// In production, the Angular files will be served from this directory
|
// In production, the Angular files will be served from this directory
|
||||||
services.AddSpaStaticFiles(configuration =>
|
services.AddSpaStaticFiles(configuration =>
|
||||||
{
|
{
|
||||||
|
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 127 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
31
Aps Single Page Anwendung/data/kategorie.json
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
[{
|
||||||
|
"id": 1,
|
||||||
|
"name": "Salate",
|
||||||
|
"description": "Fröhlich bunte Salate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"name": "Suppen",
|
||||||
|
"description": "Cremige Suppen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"name": "Vorspeißen",
|
||||||
|
"description": "Kleine Portionen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"name": "Hauptgerichte",
|
||||||
|
"description": "Eine vielfalt aus verschiedenen Gerichten"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"name": "Nachspeißen",
|
||||||
|
"description": "Leckere süße Desserts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"name": "Getränke",
|
||||||
|
"description": "Eine große Auswahl an Getränkeetränken"
|
||||||
|
}
|
||||||
|
]
|
|
@ -1,27 +1,27 @@
|
||||||
[{
|
[{
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"name": "Ensalada de Casa",
|
"name": "Gemischter Salat",
|
||||||
"description": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, Käse, Zwiebeln",
|
"description": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, Käse, Zwiebeln",
|
||||||
"price": 3.49,
|
"price": 3.49,
|
||||||
"categoryId": 1
|
"categoryId": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 2,
|
"id": 2,
|
||||||
"name": "Ensalada furia",
|
"name": "Salat Diabolo",
|
||||||
"description": "Gemischter Salat mit Chillis, Paprika, Radieschen und Zwiebeln (scharf!)",
|
"description": "Gemischter Salat mit Chillis, Paprika, Radieschen und Zwiebeln (scharf!)",
|
||||||
"price": 3.99,
|
"price": 3.99,
|
||||||
"categoryId": 1
|
"categoryId": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"name": "Sopa de Tomate",
|
"name": "Rote Suppe",
|
||||||
"description": "Tomatensuppe",
|
"description": "Tomatensuppe",
|
||||||
"price": 3.29,
|
"price": 3.29,
|
||||||
"categoryId": 2
|
"categoryId": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 4,
|
"id": 4,
|
||||||
"name": "Crema de verduras",
|
"name": "Grüne Suppe",
|
||||||
"description": "Gemüsecremesuppe",
|
"description": "Gemüsecremesuppe",
|
||||||
"price": 4.39,
|
"price": 4.39,
|
||||||
"categoryId": 2
|
"categoryId": 2
|
|
@ -1,31 +0,0 @@
|
||||||
[{
|
|
||||||
"id": 1,
|
|
||||||
"name": "Ensaladas",
|
|
||||||
"description": "Salate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 2,
|
|
||||||
"name": "Cremas y sopas",
|
|
||||||
"description": "Suppen"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"name": "Tapas",
|
|
||||||
"description": "Kleine Portionen"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 4,
|
|
||||||
"name": "Platos principales",
|
|
||||||
"description": "Hauptgerichte"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 5,
|
|
||||||
"name": "Postres",
|
|
||||||
"description": "Desserts"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 6,
|
|
||||||
"name": "Bebidas",
|
|
||||||
"description": "Getränke"
|
|
||||||
}
|
|
||||||
]
|
|
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 105 KiB |
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 88 KiB |
|
@ -0,0 +1,23 @@
|
||||||
|
1.jpg
|
||||||
|
https://unsplash.com/photos/IGfIGP5ONV0
|
||||||
|
Unsplash / Anna Pelzer
|
||||||
|
|
||||||
|
2.jpg
|
||||||
|
https://unsplash.com/photos/OMcrCX6wDpU
|
||||||
|
Unsplash / Jade Aucamp
|
||||||
|
|
||||||
|
3.jpg
|
||||||
|
https://pixabay.com/de/photos/creme-k%C3%A4se-tomate-sousse-chips-1503526/
|
||||||
|
Pixybay / hamomdomingues
|
||||||
|
|
||||||
|
4.jpg
|
||||||
|
https://www.pexels.com/photo/blur-bowl-close-up-cook-461326/
|
||||||
|
Pexels / Pixabay
|
||||||
|
|
||||||
|
5.jpg
|
||||||
|
https://pixabay.com/de/photos/eisbecher-speiseeis-eiscreme-2194070/
|
||||||
|
Pixybay / silviarita
|
||||||
|
|
||||||
|
6.jpg
|
||||||
|
https://mavl.io/photo/7331/summer-drink
|
||||||
|
Mavl / picjumbo.com
|
|
@ -0,0 +1,45 @@
|
||||||
|
All pictures are taken from the following sources:
|
||||||
|
|
||||||
|
- Mavl
|
||||||
|
- Pexels
|
||||||
|
- Pixabay
|
||||||
|
- Unsplash
|
||||||
|
|
||||||
|
The licenses of those plattforms are:
|
||||||
|
|
||||||
|
## Mavl
|
||||||
|
https://mavl.io/license
|
||||||
|
Creative Commons Zero enables artists, photographers, authors, scientists, educators, and other creators and owners of copyright- or database-protected content to waive those interests in their works and thereby place them as completely as possible in the public domain, so that others may freely build upon, enhance and reuse the works for any purposes without restriction under copyright or database law.
|
||||||
|
|
||||||
|
In contrast to CC’s licenses that allow copyright holders to choose from a range of permissions while retaining their copyright, CC0 empowers yet another choice altogether – the choice to opt out of copyright and database protection, and the exclusive rights automatically granted to creators – the “no rights reserved” alternative to our licenses.
|
||||||
|
|
||||||
|
## Pexels
|
||||||
|
https://www.pexels.com/photo-license/
|
||||||
|
|
||||||
|
- All photos on Pexels are free to use.
|
||||||
|
- Attribution is not required. Giving credit to the photographer or Pexels is not necessary but always appreciated.
|
||||||
|
- You can modify the photos. Be creative and edit the photos as you like.
|
||||||
|
entifiable people may not appear in a bad light or in a way that is offensive.
|
||||||
|
- Don't sell unaltered copies of a photo, e.g. don't sell it as a stock photo, poster, print or on a physical product without adding any value.
|
||||||
|
- Don't imply endorsement of your product by people or brands on the image.
|
||||||
|
- Don't redistribute or sell the photos on other stock photo or wallpaper platforms.
|
||||||
|
|
||||||
|
## Pixabay
|
||||||
|
https://pixabay.com/de/service/terms/#license
|
||||||
|
ilder und Videos auf Pixabay werden unter der Pixabay Lizenz mit den folgenden Bedingungen zur Verfügung gestellt. Durch die Pixabay Lizenz erhältst Du ein unwiderrufliches, weltweites, nicht exklusives und gebührenfreies Recht, die Bilder und Videos für kommerzielle und nicht kommerzielle Zwecke zu verwenden, herunterzuladen, zu kopieren und zu verändern. Eine Nennung des Bildautors bzw. von Pixabay ist nicht erforderlich, wir wissen jedoch eine freiwillige Quellenangabe zu schätzen.
|
||||||
|
|
||||||
|
Die Pixabay-Lizenz gestattet nicht:
|
||||||
|
|
||||||
|
den Verkauf oder Vertrieb von Bildern oder Videos in digitaler Form, insbesondere als Stockfotos oder digitale Wallpaper;
|
||||||
|
den Verkauf oder Vertrieb von Bildern oder Videos z.B. als Poster, Digitaldrucke oder physische Produkte, ohne zusätzliche Elemente hinzuzufügen oder anderweitig einen Mehrwert zu schaffen;
|
||||||
|
die Darstellung von identifizierbaren Personen auf beleidigende, pornografische, obszöne, unmoralische, diffamierende oder verleumderische Weise; oder
|
||||||
|
die Suggestion, dass abgebildete Personen, Marken, Organisationen, etc. bestimmte Produkte oder Dienstleistungen befürworten oder billigen, es sei denn es wurde eine Genehmigung dazu erteilt.
|
||||||
|
|
||||||
|
Beachte bitte, dass alle Inhalte auf Pixabay zwar für kommerzielle und nicht-kommerzielle Zwecke frei verwendbar sind, gezeigte Elemente in den Bildern und Videos, wie identifizierbare Personen, Logos und Marken, jedoch zusätzlichen Urheberrechten, Eigentumsrechten, Personenrechten, Markenrechten usw. unterliegen können. Die Zustimmung eines Dritten oder die Lizenz dieser Rechte können insbesondere für kommerzielle Anwendungen erforderlich sein. Pixabay garantiert nicht, dass solche Zustimmungen oder Lizenzen eingeholt wurden, und lehnt ausdrücklich jegliche Haftung in dieser Hinsicht ab.
|
||||||
|
|
||||||
|
## Unsplash
|
||||||
|
https://unsplash.com/license
|
||||||
|
All photos published on Unsplash can be used for free. You can use them for commercial and noncommercial purposes. You do not need to ask permission from or provide credit to the photographer or Unsplash, although it is appreciated when possible.
|
||||||
|
|
||||||
|
More precisely, Unsplash grants you an irrevocable, nonexclusive, worldwide copyright license to download, copy, modify, distribute, perform, and use photos from Unsplash for free, including for commercial purposes, without permission from or attributing the photographer or Unsplash. This license does not include the right to compile photos from Unsplash to replicate a similar or competing service.
|
||||||
|
|
After Width: | Height: | Size: 127 KiB |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 103 KiB |
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 146 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 89 KiB |
After Width: | Height: | Size: 101 KiB |
After Width: | Height: | Size: 93 KiB |
After Width: | Height: | Size: 113 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 93 KiB |
|
@ -0,0 +1,87 @@
|
||||||
|
1.jpg
|
||||||
|
https://unsplash.com/photos/MlPD-AzZYMg
|
||||||
|
Unsplash / Louis Hansel
|
||||||
|
|
||||||
|
2.jpg
|
||||||
|
https://unsplash.com/photos/AiHJiRCwB3w
|
||||||
|
Unsplash / Yoav Aziz
|
||||||
|
|
||||||
|
3.jpg
|
||||||
|
https://www.pexels.com/photo/appetizer-bowl-bread-breakfast-539451/
|
||||||
|
Pexels / Foodie Factor
|
||||||
|
|
||||||
|
4.jpg
|
||||||
|
https://pixabay.com/de/photos/erbsensuppe-suppe-vorspeise-2786133/
|
||||||
|
Pixabay / Ritae
|
||||||
|
|
||||||
|
5.jpg
|
||||||
|
https://pxhere.com/en/photo/758610
|
||||||
|
pxhere
|
||||||
|
|
||||||
|
6.jpg
|
||||||
|
https://unsplash.com/photos/vzIgmhbEN9w
|
||||||
|
Unsplash / Nacho Carretero Molero
|
||||||
|
|
||||||
|
7.jpg
|
||||||
|
https://pxhere.com/de/photo/459409
|
||||||
|
pxhere
|
||||||
|
|
||||||
|
8.jpg
|
||||||
|
https://pxhere.com/es/photo/607309
|
||||||
|
pxhere
|
||||||
|
|
||||||
|
9.jpg
|
||||||
|
https://pxhere.com/es/photo/529102
|
||||||
|
pxhere
|
||||||
|
|
||||||
|
10.jpg
|
||||||
|
https://www.rawpixel.com/image/448047/free-photo-image-dip-mexican-cuisine-appetite
|
||||||
|
rawpixel / Jakub Kapusnak
|
||||||
|
|
||||||
|
11.jpg
|
||||||
|
https://pixabay.com/de/photos/tjena-k%C3%BCche-chili-con-carne-reis-3175645/
|
||||||
|
pixabay / TJENA
|
||||||
|
|
||||||
|
12.jpg
|
||||||
|
https://unsplash.com/photos/xsfX3AqLDKo
|
||||||
|
Unsplash / Alexandra Golovac
|
||||||
|
|
||||||
|
13.jpg
|
||||||
|
https://pixabay.com/de/photos/burrito-tortilla-lebensmittel-4126116/
|
||||||
|
pixabay / nevena1313
|
||||||
|
|
||||||
|
14.jpg
|
||||||
|
https://pixnio.com/food-and-drink/rice-food-dinner-lunch-dish-meal-vegetable-meat-delicious
|
||||||
|
pixnio
|
||||||
|
|
||||||
|
15.jpg
|
||||||
|
https://pixabay.com/de/photos/empanadas-empanaditas-partei-macht-3410288/
|
||||||
|
pixybay / Emersontc
|
||||||
|
|
||||||
|
16.jpg
|
||||||
|
https://pxhere.com/en/photo/863645
|
||||||
|
pxhere
|
||||||
|
|
||||||
|
|
||||||
|
17.jpg
|
||||||
|
https://pixnio.com/flora-plants/fruits/fruit-salad-diet-food-nutrition-delicious-kiwi-sweet
|
||||||
|
pixnio
|
||||||
|
|
||||||
|
18.jpg
|
||||||
|
https://pixabay.com/de/photos/churros-backen-cookies-dessert-2188871/
|
||||||
|
pixabay / Daria-Yakovleva
|
||||||
|
|
||||||
|
19.jpg
|
||||||
|
https://pxhere.com/en/photo/1274085
|
||||||
|
|
||||||
|
20.jpg
|
||||||
|
https://pxhere.com/en/photo/1582781
|
||||||
|
pxhere / rawpixel.com
|
||||||
|
|
||||||
|
21.jpg
|
||||||
|
https://unsplash.com/photos/p5EiqkBYIEE
|
||||||
|
Unsplash / Francesca Hotchin
|
||||||
|
|
||||||
|
22.jpg
|
||||||
|
https://pxhere.com/en/photo/655302
|
||||||
|
pxhere
|
|
@ -0,0 +1,59 @@
|
||||||
|
All pictures are taken from the following sources:
|
||||||
|
|
||||||
|
- Pexels
|
||||||
|
- Pixabay
|
||||||
|
- Pixnio
|
||||||
|
- Pxhere
|
||||||
|
- Rawpixl
|
||||||
|
- Unsplash
|
||||||
|
|
||||||
|
The licenses of those plattforms are:
|
||||||
|
|
||||||
|
## Pexels
|
||||||
|
https://www.pexels.com/photo-license/
|
||||||
|
|
||||||
|
- All photos on Pexels are free to use.
|
||||||
|
- Attribution is not required. Giving credit to the photographer or Pexels is not necessary but always appreciated.
|
||||||
|
- You can modify the photos. Be creative and edit the photos as you like.
|
||||||
|
entifiable people may not appear in a bad light or in a way that is offensive.
|
||||||
|
- Don't sell unaltered copies of a photo, e.g. don't sell it as a stock photo, poster, print or on a physical product without adding any value.
|
||||||
|
- Don't imply endorsement of your product by people or brands on the image.
|
||||||
|
- Don't redistribute or sell the photos on other stock photo or wallpaper platforms.
|
||||||
|
|
||||||
|
## Pixabay
|
||||||
|
https://pixabay.com/de/service/terms/#license
|
||||||
|
ilder und Videos auf Pixabay werden unter der Pixabay Lizenz mit den folgenden Bedingungen zur Verfügung gestellt. Durch die Pixabay Lizenz erhältst Du ein unwiderrufliches, weltweites, nicht exklusives und gebührenfreies Recht, die Bilder und Videos für kommerzielle und nicht kommerzielle Zwecke zu verwenden, herunterzuladen, zu kopieren und zu verändern. Eine Nennung des Bildautors bzw. von Pixabay ist nicht erforderlich, wir wissen jedoch eine freiwillige Quellenangabe zu schätzen.
|
||||||
|
|
||||||
|
Die Pixabay-Lizenz gestattet nicht:
|
||||||
|
|
||||||
|
den Verkauf oder Vertrieb von Bildern oder Videos in digitaler Form, insbesondere als Stockfotos oder digitale Wallpaper;
|
||||||
|
den Verkauf oder Vertrieb von Bildern oder Videos z.B. als Poster, Digitaldrucke oder physische Produkte, ohne zusätzliche Elemente hinzuzufügen oder anderweitig einen Mehrwert zu schaffen;
|
||||||
|
die Darstellung von identifizierbaren Personen auf beleidigende, pornografische, obszöne, unmoralische, diffamierende oder verleumderische Weise; oder
|
||||||
|
die Suggestion, dass abgebildete Personen, Marken, Organisationen, etc. bestimmte Produkte oder Dienstleistungen befürworten oder billigen, es sei denn es wurde eine Genehmigung dazu erteilt.
|
||||||
|
|
||||||
|
Beachte bitte, dass alle Inhalte auf Pixabay zwar für kommerzielle und nicht-kommerzielle Zwecke frei verwendbar sind, gezeigte Elemente in den Bildern und Videos, wie identifizierbare Personen, Logos und Marken, jedoch zusätzlichen Urheberrechten, Eigentumsrechten, Personenrechten, Markenrechten usw. unterliegen können. Die Zustimmung eines Dritten oder die Lizenz dieser Rechte können insbesondere für kommerzielle Anwendungen erforderlich sein. Pixabay garantiert nicht, dass solche Zustimmungen oder Lizenzen eingeholt wurden, und lehnt ausdrücklich jegliche Haftung in dieser Hinsicht ab.
|
||||||
|
|
||||||
|
## Pixnio
|
||||||
|
https://pixnio.com/de/
|
||||||
|
https://pixnio.com/public-domain-definition
|
||||||
|
Hochwertige urheberrechts-freundliche Bilder, urheberrechtsfreie Bilder und Bilder ohne Beschränkung für deren Verwendung. Explizit in der Public Domain platzierte Bilder, keine Rechte vorbehalten. Public Domain Bilder können für beliebige Zwecke genutzt werden, nutzen Sie diese frei für persönliche oder kommerzielle Nutzung.
|
||||||
|
|
||||||
|
## Pxhere
|
||||||
|
https://pxhere.com/de/license
|
||||||
|
|
||||||
|
It's hard to understand complex licenses that is why all photos on PxHere are licensed under the Creative Commons Zero (CC0) license. This means the pictures are completely free to be used for any legal purpose.
|
||||||
|
The pictures are free for personal and even for commercial use.
|
||||||
|
You can modify, copy and distribute the photos.
|
||||||
|
All without asking for permission or setting a link to the source. So, attribution is not required.
|
||||||
|
The only restriction is that identifiable people may not appear in a bad light or in a way that they may find offensive, unless they give their consent.
|
||||||
|
The CC0 license was released by the non-profit organization Creative Commons (CC). Get more information about Creative Commons images and the license on the official license page.
|
||||||
|
|
||||||
|
## Rawpixl
|
||||||
|
https://www.rawpixel.com/services/image-licenses
|
||||||
|
|
||||||
|
## Unsplash
|
||||||
|
https://unsplash.com/license
|
||||||
|
All photos published on Unsplash can be used for free. You can use them for commercial and noncommercial purposes. You do not need to ask permission from or provide credit to the photographer or Unsplash, although it is appreciated when possible.
|
||||||
|
|
||||||
|
More precisely, Unsplash grants you an irrevocable, nonexclusive, worldwide copyright license to download, copy, modify, distribute, perform, and use photos from Unsplash for free, including for commercial purposes, without permission from or attributing the photographer or Unsplash. This license does not include the right to compile photos from Unsplash to replicate a similar or competing service.
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
[{
|
||||||
|
"id": 1,
|
||||||
|
"name": "Salate",
|
||||||
|
"description": "Fröhlich bunte Salate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"name": "Suppen",
|
||||||
|
"description": "Cremige Suppen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"name": "Vorspeißen",
|
||||||
|
"description": "Kleine Portionen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"name": "Hauptgerichte",
|
||||||
|
"description": "Eine vielfalt aus verschiedenen Gerichten"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"name": "Nachspeißen",
|
||||||
|
"description": "Leckere süße Desserts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"name": "Getränke",
|
||||||
|
"description": "Eine große Auswahl an Getränkeetränken"
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,159 @@
|
||||||
|
[{
|
||||||
|
"id": 1,
|
||||||
|
"name": "Gemischter Salat",
|
||||||
|
"description": "Salat nach Art des Hauses. Gemischter Salat, Mais, Paprika, Käse, Zwiebeln",
|
||||||
|
"price": 3.49,
|
||||||
|
"categoryId": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"name": "Salat Diabolo",
|
||||||
|
"description": "Gemischter Salat mit Chillis, Paprika, Radieschen und Zwiebeln (scharf!)",
|
||||||
|
"price": 3.99,
|
||||||
|
"categoryId": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"name": "Rote Suppe",
|
||||||
|
"description": "Tomatensuppe",
|
||||||
|
"price": 3.29,
|
||||||
|
"categoryId": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"name": "Grüne Suppe",
|
||||||
|
"description": "Gemüsecremesuppe",
|
||||||
|
"price": 4.39,
|
||||||
|
"categoryId": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"name": "Tortilla de patatas",
|
||||||
|
"description": "Spanisches Omlett aus Eiern und Kartoffeln",
|
||||||
|
"price": 4.99,
|
||||||
|
"categoryId": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"name": "Patatas bravas",
|
||||||
|
"description": "Gebratene Kartoffelstücke in pikanter Sauce",
|
||||||
|
"price": 3.99,
|
||||||
|
"categoryId": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"name": "Pimientos al grill",
|
||||||
|
"description": "Gegrillte Paprika",
|
||||||
|
"price": 2.99,
|
||||||
|
"categoryId": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"name": "Pan con alioli",
|
||||||
|
"description": "Ailoli mit Brot",
|
||||||
|
"price": 2.29,
|
||||||
|
"categoryId": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"name": "Pan con tomate y ajo",
|
||||||
|
"description": "Brot mit Tomate und Knoblauch",
|
||||||
|
"price": 2.29,
|
||||||
|
"categoryId": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"name": "Tortilla Chips",
|
||||||
|
"description": "Tortilla Chips mit Salsa Dip, Guacamole oder Alioli",
|
||||||
|
"price": 1.29,
|
||||||
|
"categoryId": 3
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"name": "Chilli sin carne",
|
||||||
|
"description": "Vegetarisches Chilli, serviert mit Reis",
|
||||||
|
"price": 5.39,
|
||||||
|
"categoryId": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"name": "Enchiladas de verduras",
|
||||||
|
"description": "Überbackene Maistortillas gefüllt mit Gemüse",
|
||||||
|
"price": 4.99,
|
||||||
|
"categoryId": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 13,
|
||||||
|
"name": "Burritos de verduras",
|
||||||
|
"description": "Weizentortillas gefüllt mit Gemüse",
|
||||||
|
"price": 4.99,
|
||||||
|
"categoryId": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 14,
|
||||||
|
"name": "Arroz con verduras",
|
||||||
|
"description": "Reis-/Gemüsepfanne",
|
||||||
|
"price": 4.49,
|
||||||
|
"categoryId": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 15,
|
||||||
|
"name": "Empanadas de espinacas y maíz",
|
||||||
|
"description": "Teigtaschen gefüllt mit Spinat und Mais",
|
||||||
|
"price": 4.49,
|
||||||
|
"categoryId": 4
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"id": 16,
|
||||||
|
"name": "Crema Catalana",
|
||||||
|
"description": "Katalanische Creme",
|
||||||
|
"price": 2.49,
|
||||||
|
"categoryId": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 17,
|
||||||
|
"name": "Ensalada de frutas",
|
||||||
|
"description": "Obstsalat mit frischen Früchten",
|
||||||
|
"price": 2.99,
|
||||||
|
"categoryId": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 18,
|
||||||
|
"name": "Churros",
|
||||||
|
"description": "Spritzgebäck mit Zucker",
|
||||||
|
"price": 1.99,
|
||||||
|
"categoryId": 5
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"id": 19,
|
||||||
|
"name": "Agua mineral",
|
||||||
|
"description": "Mineralwasser",
|
||||||
|
"price": 1.59,
|
||||||
|
"categoryId": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 20,
|
||||||
|
"name": "Zumo de manzana",
|
||||||
|
"description": "Apfelsaft",
|
||||||
|
"price": 1.59,
|
||||||
|
"categoryId": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 21,
|
||||||
|
"name": "Limonada",
|
||||||
|
"description": "Zitronenlimonade",
|
||||||
|
"price": 1.59,
|
||||||
|
"categoryId": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 22,
|
||||||
|
"name": "Café",
|
||||||
|
"description": "Kaffee",
|
||||||
|
"price": 1.59,
|
||||||
|
"categoryId": 6
|
||||||
|
}
|
||||||
|
]
|