diff --git a/.gitignore b/.gitignore index 549eac9..cc6258d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ node_modules/ package-lock.json -Endabgabe/ mongodb/ data/ diff --git a/Aufgaben/Aufgabe_11_2020-07-08/client.js b/Aufgaben/Aufgabe_11_2020-07-08/client.js index a1e4da7..7ad5945 100644 --- a/Aufgaben/Aufgabe_11_2020-07-08/client.js +++ b/Aufgaben/Aufgabe_11_2020-07-08/client.js @@ -6,11 +6,11 @@ var clientSide; (function (clientSide) { document.querySelector("#abschicken").addEventListener("click", sendData); function sendData() { - communicate("https://theoneandgis.herokuapp.com", "mongo", "send", ""); + communicate("http://localhost:8100", "mongo", "send", ""); } document.querySelector("#abfragen").addEventListener("click", retrieveData); function retrieveData() { - communicate("https://theoneandgis.herokuapp.com", "mongo", "retrieve", ""); + communicate("http://localhost:8100", "mongo", "retrieve", ""); } function removeData(_event) { let target = _event.target; diff --git a/Aufgaben/Aufgabe_11_2020-07-08/client.js.map b/Aufgaben/Aufgabe_11_2020-07-08/client.js.map index c56448c..e421087 100644 --- a/Aufgaben/Aufgabe_11_2020-07-08/client.js.map +++ b/Aufgaben/Aufgabe_11_2020-07-08/client.js.map @@ -1 +1 @@ -{"version":3,"file":"client.js","sourceRoot":"","sources":["client.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"client.js","sourceRoot":"","sources":["client.ts"],"names":[],"mappings":";AAAA,gIAAgI;AAChI,uBAAuB;AACvB,oCAAoC;AAEpC,IAAU,UAAU,CA+EnB;AA/ED,WAAU,UAAU;IAMI,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/F,SAAS,QAAQ;QACb,WAAW,CAAC,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEmB,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjG,SAAS,YAAY;QACjB,WAAW,CAAC,uBAAuB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,UAAU,CAAC,MAAa;QAC7B,IAAI,MAAM,GAA8B,MAAM,CAAC,MAAO,CAAC;QACvD;;wCAEgC;QAChC,IAAI,EAAE,GAAW,MAAM,CAAC,YAAY,CAAC,WAAW,CAAE,CAAC;QACnD,WAAW,CAAC,oCAAoC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAQD,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,IAAY,EAAG,KAAa,EAAE,GAAW;QAClF,IAAI,QAAQ,GAAa,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,GAAG,GAAW,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,EAAE,EAAE;YACX,kCAAkC;YAClC,IAAI,KAAK,GAAoB,IAAI,eAAe,CAAM,QAAQ,CAAC,CAAC;YAChE,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;SACtE;aAAM;YACH,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;SACvE;QACD,IAAI,QAAQ,GAAa,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,YAAY,GAAkB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAExD,IAAI,KAAK,IAAI,MAAM,EAAE;YACjB,IAAI,UAAU,GAAW,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACrC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAE,CAAC,SAAS,GAAG,UAAU,CAAC;YAChF,4GAA4G;SAC/G;QACD,IAAI,KAAK,IAAI,UAAU,EAAE;YACrB,IAAI,UAAU,GAAW,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACvC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAE,CAAC,SAAS,GAAG,UAAU,CAAC;YAChF,iBAAiB,EAAE,CAAC;SACvB;QAEiB,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAE,CAAC,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,SAAS,gBAAgB,CAAC,aAA4B;QAClD,IAAI,UAAU,GAAW,EAAE,CAAC;QAC5B,KAAK,IAAI,KAAK,GAAW,CAAC,EAAE,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChE,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE;gBACtB,UAAU,IAAI,0CAA0C,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,8BAA8B,CAAC;gBACjI,IAAI,OAAO,GAA6B,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC7D,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;oBACrB,UAAU,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;iBACpE;gBACD,UAAU,IAAI,MAAM,CAAC;aACxB;SACJ;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,SAAS,iBAAiB;QACtB,IAAI,aAAa,GAAkC,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC9F,KAAK,MAAM,QAAQ,IAAI,aAAa;YAChC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;AAEL,CAAC,EA/ES,UAAU,KAAV,UAAU,QA+EnB"} \ No newline at end of file diff --git a/Aufgaben/Aufgabe_11_2020-07-08/client.ts b/Aufgaben/Aufgabe_11_2020-07-08/client.ts index fd0ec27..4949516 100644 --- a/Aufgaben/Aufgabe_11_2020-07-08/client.ts +++ b/Aufgaben/Aufgabe_11_2020-07-08/client.ts @@ -10,12 +10,12 @@ namespace clientSide { (document.querySelector("#abschicken")).addEventListener("click", sendData); function sendData(): void { - communicate("https://theoneandgis.herokuapp.com", "mongo", "send", ""); + communicate("http://localhost:8100", "mongo", "send", ""); } (document.querySelector("#abfragen")).addEventListener("click", retrieveData); function retrieveData(): void { - communicate("https://theoneandgis.herokuapp.com", "mongo", "retrieve", ""); + communicate("http://localhost:8100", "mongo", "retrieve", ""); } function removeData(_event: Event): void { diff --git a/Aufgaben/Aufgabe_11_2020-07-08/server.js b/Aufgaben/Aufgabe_11_2020-07-08/server.js index b68f03b..bc51b2f 100644 --- a/Aufgaben/Aufgabe_11_2020-07-08/server.js +++ b/Aufgaben/Aufgabe_11_2020-07-08/server.js @@ -30,6 +30,8 @@ var ServerSide; _response.setHeader("content-type", "application/json"); _response.setHeader("Access-Control-Allow-Origin", "*"); if (_request.url.includes("/mongo")) { + console.log(" myQueryString: ", myQueryString); + console.log(" _request.url: ", _request.url); await mongoAction(_response, myQueryString, _request.url); } _response.end(); diff --git a/Aufgaben/Aufgabe_11_2020-07-08/server.js.map b/Aufgaben/Aufgabe_11_2020-07-08/server.js.map index 31e2e84..9e53cdd 100644 --- a/Aufgaben/Aufgabe_11_2020-07-08/server.js.map +++ b/Aufgaben/Aufgabe_11_2020-07-08/server.js.map @@ -1 +1 @@ -{"version":3,"file":"server.js","sourceRoot":"","sources":["server.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,2BAA2B;AAE3B,mCAAsC;AAEtC,qCAAqC;AAErC,IAAiB,UAAU,CA2D1B;AA3DD,WAAiB,UAAU;IAEvB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC/B,IAAI,IAAI,GAAW,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI;QACL,IAAI,GAAG,IAAI,CAAC;IAEhB,IAAI,MAAM,GAAgB,IAAI,CAAC,YAAY,EAAE,CAAC;IAC9C,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC7C,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpB,IAAI,MAAM,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,OAAO,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,mBAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAG/B,SAAS,YAAY;QACjB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,QAA8B,EAAE,SAA8B;QACvF,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAEtE,IAAI,MAAM,GAA2B,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,OAAO,GAAmB,MAAM,CAAC,KAAK,CAAC;QAC3C,IAAI,aAAa,GAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpD,+DAA+D;QAE/D,SAAS,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACxD,SAAS,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAExD,IAAc,QAAQ,CAAC,GAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAG;YAC7C,MAAM,WAAW,CAAE,SAAS,EAAE,aAAa,EAAY,QAAQ,CAAC,GAAI,CAAE,CAAC;SAC1E;QAED,SAAS,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,UAAU,WAAW,CAAC,SAA8B,EAAE,MAAc,EAAE,QAAgB;QACvF,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC5B,IAAI,SAAS,GAA4B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5D,mBAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAClC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC3B;QAED,IAAK,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAG;YAClC,IAAI,KAAK,GAA8B,MAAM,mBAAW,CAAC,cAAc,EAAE,CAAC;YAC1E,IAAI,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC9C,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B;QAED,IAAK,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAG;YAChC,IAAI,SAAS,GAA4B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,mBAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACxC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAC9B;IACL,CAAC;AAEL,CAAC,EA3DgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA2D1B"} \ No newline at end of file +{"version":3,"file":"server.js","sourceRoot":"","sources":["server.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Aufgaben/Aufgabe_11_2020-07-08/server.ts b/Aufgaben/Aufgabe_11_2020-07-08/server.ts index 1c87933..cdfa759 100644 --- a/Aufgaben/Aufgabe_11_2020-07-08/server.ts +++ b/Aufgaben/Aufgabe_11_2020-07-08/server.ts @@ -38,6 +38,8 @@ export namespace ServerSide { _response.setHeader("Access-Control-Allow-Origin", "*"); if ( (_request.url).includes("/mongo") ) { + console.log(" myQueryString: ", myQueryString); + console.log(" _request.url: ", _request.url); await mongoAction( _response, myQueryString , (_request.url) ); } diff --git a/Endabgabe/#konzepte/DiesOderDas.png b/Endabgabe/#konzepte/DiesOderDas.png new file mode 100644 index 0000000..b692b37 Binary files /dev/null and b/Endabgabe/#konzepte/DiesOderDas.png differ diff --git a/Endabgabe/#konzepte/GiS Endabgabe.pdf b/Endabgabe/#konzepte/GiS Endabgabe.pdf new file mode 100644 index 0000000..e25c308 Binary files /dev/null and b/Endabgabe/#konzepte/GiS Endabgabe.pdf differ diff --git a/Endabgabe/#konzepte/Wireframe.pdn b/Endabgabe/#konzepte/Wireframe.pdn new file mode 100644 index 0000000..f02c084 Binary files /dev/null and b/Endabgabe/#konzepte/Wireframe.pdn differ diff --git a/Endabgabe/#konzepte/blue-black.pdf b/Endabgabe/#konzepte/blue-black.pdf new file mode 100644 index 0000000..10d61f3 Binary files /dev/null and b/Endabgabe/#konzepte/blue-black.pdf differ diff --git a/Endabgabe/#konzepte/blue.pdf b/Endabgabe/#konzepte/blue.pdf new file mode 100644 index 0000000..f443cf4 Binary files /dev/null and b/Endabgabe/#konzepte/blue.pdf differ diff --git a/Endabgabe/#konzepte/gedankengänge.txt b/Endabgabe/#konzepte/gedankengänge.txt new file mode 100644 index 0000000..19f05ba --- /dev/null +++ b/Endabgabe/#konzepte/gedankengänge.txt @@ -0,0 +1,14 @@ +Reiter: +• Administrator +• Über uns +• Kontakt +• zu den Artikeln +• zum Warenkorb + +Ideen: +Sonder-Zusammenstellung mit einer besonderen Zutat + +Anmerkungen: +• Eine Zusammenstellung sollte in einem Array gespeichert werden, damit man mehrere bestellen kann +• für den Disclaimer könnte eine Transition als hover angewandt werden +• Vermutlich ist ein gutes frontend notwendig, um ein anständiged Backend umzusetzen diff --git a/Endabgabe/#konzepte/nice-ice-logo.psd b/Endabgabe/#konzepte/nice-ice-logo.psd new file mode 100644 index 0000000..6048d6d Binary files /dev/null and b/Endabgabe/#konzepte/nice-ice-logo.psd differ diff --git a/Endabgabe/#konzepte/work-history.txt b/Endabgabe/#konzepte/work-history.txt new file mode 100644 index 0000000..0f2b493 --- /dev/null +++ b/Endabgabe/#konzepte/work-history.txt @@ -0,0 +1,12 @@ +1) Ich mach mir Gedanken, wie die Hauptseite zunächst aussehen soll + +2) Mitunter bediene ich mich an meiner alten JSON Datei, um eine Übersicht möglicher Produkte anzufertigen + → eine Liste mit wenigen Grundprodukten wurde zu Testzwecken angefertigt + +3) Eine vorsätzliche html wird für erste Versuche un Ansätze erstellt +3.1) Diese wird nach einem neuen Design anhand der Main-Page aufgebaut + +4) Die Datenstruktur der Datenbanken wird schriftlich durchdacht +4.2) Ich habe zwar heute nix geschafft, aber ich habe innerlich geweint, weil ich mit der Datenbank net klar komme :D + +5) Die Datenbanken sind inzwischen fast einsatzfähig. Ich versuche zunächst die Shopseite zu zeichnen und schaue dann, was draus wird. Viel mitschreiben tu ich heute eher nicht. \ No newline at end of file diff --git a/Endabgabe/#lager/articles.json b/Endabgabe/#lager/articles.json new file mode 100644 index 0000000..fa01ff8 --- /dev/null +++ b/Endabgabe/#lager/articles.json @@ -0,0 +1,82 @@ +[ + { + "category-name": "Eis-Sorten", + "id": "eisSorten", + "products": [ + { + "product-name": "Blaubeere", + "price": 0.80, + "imgName": "filler.jpg", + }, + { + "product-name": "Waldmeister", + "price": 0.80, + "imgName": "filler.jpg", + } + ] + }, + { + "category-name": "Eis-Typ", + "id": "eisTyp", + "products": [ + { + "product-name": "Waffel", + "price": 0.20, + "imgName": "filler.jpg", + }, + { + "product-name": "Becher", + "price": 0.20, + "imgName": "filler.jpg", + }, + { + "product-name": "Eigenbedarf", + "price": 0.00, + "imgName": "filler.jpg", + "annotation": "Mit eigenen Bechern, Waffeln usw. müssen Sie nichts weiter dafür zahlen", + } + ] + }, + { + "title": "Toppings", + "id": "toppings", + "products": [ + { + "product-name": "Bunte Streusel", + "price": 0.25, + "imgName": "filler.jpg", + }, + { + "product-name": "Schoko Streusel", + "price": 0.25, + "imgName": "filler.jpg", + }, + { + "product-name": "Mini Marshmellows", + "price": 0.25, + "imgName": "filler.jpg", + } + ] + }, + { + "title": "Extras", + "id": "extras", + "products": [ + { + "product-name": "Servietten", + "price": 0.00, + "imgName": "filler.jpg", + }, + { + "product-name": "Extra Waffel", + "price": 0.10, + "imgName": "filler.jpg", + }, + { + "product-name": "Eiswürfel (2 Stück)", + "price": 0.00, + "imgName": "filler.jpg", + } + ] + } +] \ No newline at end of file diff --git a/Endabgabe/#lager/myJSON.json b/Endabgabe/#lager/myJSON.json new file mode 100644 index 0000000..6ed2827 --- /dev/null +++ b/Endabgabe/#lager/myJSON.json @@ -0,0 +1,153 @@ +[ + { + "title": "Special Offers!", + "id": "special", + "products": [ + { + "title": "Color: Rainbow", + "price": 3279.99, + "size": "4m²", + "imgName": "grass-rainbow-square.png", + "description": "If you can't choose one color, go and catch them all!" + }, + { + "title": "Color: White", + "price": 3279.99, + "size": "4m²", + "imgName": "grass-white.png", + "description": "The appearance of many sparkling stars on your garden floor." + }, + { + "title": "Color: Black", + "price": 3279.99, + "size": "4m²", + "imgName": "grass-black.png", + "description": "Dark as the night. Be careful not to form a black hole!" + }, + { + "title": "Pattern: Murica", + "price": 3279.99, + "size": "4m²", + "imgName": "grass-green-murica.png", + "description": "Texas, Trump, Guns & Hamburgers" + }, + { + "title": "Pattern: Schachbrett", + "price": 3279.99, + "size": "4m²", + "imgName": "grass-green-chess-square.png", + "description": "Show your intellect on your own lawn and embarrass your opponents!" + } + ] + }, + { + "title": "Bunte Gräser", + "id": "bunt", + "products": [ + { + "title": "Color: Green", + "price": 2339.99, + "size": "4m²", + "imgName": "grass-green.png", + "description": "The standard model in our range. Ensures a natural look and pleasant freshness in your living room!" + }, + { + "title": "Color: Desert", + "price": 2339.99, + "size": "4m²", + "imgName": "grass-yellow.png", + "description": "Summer, sun and oh my god, I'm hot! Are they pyramids in my garden ?!" + }, + { + "title": "Color: Beach", + "price": 2339.99, + "size": "4m²", + "imgName": "grass-orange.png", + "description": "Summer, sun and hot feelings!" + }, + { + "title": "Pattern: Hell", + "price": 2339.99, + "size": "4m²", + "imgName": "grass-red.png", + "description": "Look into the abyss that could await you after your death and invite guests to it!" + }, + { + "title": "Pattern: Unicorn", + "price": 2339.99, + "size": "4m²", + "imgName": "grass-pink.png", + "description": "PINK FLUFFY UNICORN, DANCING ON RAINBOWS (which you can also buy in here) !!!" + }, + { + "title": "Pattern: Grape", + "price": 2339.99, + "size": "4m²", + "imgName": "grass-purple.png", + "description": "It looks purple. Do you have to say more?" + }, + { + "title": "Pattern: Atlantic", + "price": 2339.99, + "size": "4m²", + "imgName": "grass-blue.png", + "description": "Blue like the ocean. A deep look and mysterious nature." + } + ] + }, + { + "title": "Green-Tones", + "id": "grün", + "products": [ + { + "title": "Green: 3B", + "price": 3499.99, + "size": "10m²", + "imgName": "grass-green-dark-3.png", + "description": "Green in every way. Nothing more to know about it." + }, + { + "title": "Green: 2B", + "price": 3499.99, + "size": "10m²", + "imgName": "grass-green-dark-2.png", + "description": "Green in every way. Nothing more to know about it." + }, + { + "title": "Green: B", + "price": 3499.99, + "size": "10m²", + "imgName": "grass-green-dark-1.png", + "description": "Green in every way. Nothing more to know about it." + }, + { + "title": "Green: HB", + "price": 2339.99, + "size": "10m²", + "imgName": "grass-green.png", + "description": "The standard model in our range. Ensures a natural look and pleasant freshness in your living room!" + }, + { + "title": "Green: H", + "price": 3499.99, + "size": "10m²", + "imgName": "grass-green-light-1.png", + "description": "Green in every way. Nothing more to know about it." + }, + { + "title": "Green: 2H", + "price": 3499.99, + "size": "10m²", + "imgName": "grass-green-light-2.png", + "description": "Green in every way. Nothing more to know about it." + }, + { + "title": "Green: 3H", + "price": 3499.99, + "size": "10m²", + "imgName": "grass-green-light-3.png", + "description": "Green in every way. Nothing more to know about it." + } + ] + } +] \ No newline at end of file diff --git a/Endabgabe/#lager/sitemap.html b/Endabgabe/#lager/sitemap.html new file mode 100644 index 0000000..e69de29 diff --git a/Endabgabe/#memes/GiSBeLike.png b/Endabgabe/#memes/GiSBeLike.png new file mode 100644 index 0000000..15bd83e Binary files /dev/null and b/Endabgabe/#memes/GiSBeLike.png differ diff --git a/Endabgabe/#memes/ItWasAllAMystery.png b/Endabgabe/#memes/ItWasAllAMystery.png new file mode 100644 index 0000000..34304b2 Binary files /dev/null and b/Endabgabe/#memes/ItWasAllAMystery.png differ diff --git a/Endabgabe/#memes/JsTs.png b/Endabgabe/#memes/JsTs.png new file mode 100644 index 0000000..75cf1a6 Binary files /dev/null and b/Endabgabe/#memes/JsTs.png differ diff --git a/Endabgabe/#memes/LearningTsBeLike.png b/Endabgabe/#memes/LearningTsBeLike.png new file mode 100644 index 0000000..f904274 Binary files /dev/null and b/Endabgabe/#memes/LearningTsBeLike.png differ diff --git a/Endabgabe/backend/mongo commands.txt b/Endabgabe/backend/mongo commands.txt new file mode 100644 index 0000000..c929594 --- /dev/null +++ b/Endabgabe/backend/mongo commands.txt @@ -0,0 +1,13 @@ +=> usage + +/mongo || call Database + => /mongo/nameOfCollection + +/nameOfCollection || choose, which Collection you're calling + => /nameOfCollection/furtherCommand + +/findCollection || return a whole collection +/findEntry || return a single entry + +/insertEntry || insert a single entry +/removeEntry || remove a single entry diff --git a/Endabgabe/backend/useMongo.js b/Endabgabe/backend/useMongo.js new file mode 100644 index 0000000..7383ba6 --- /dev/null +++ b/Endabgabe/backend/useMongo.js @@ -0,0 +1,95 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.handleMongo = void 0; +const Mongo = require("mongodb"); +var handleMongo; +(function (handleMongo) { + let productsCollection; + let ordersCollection; + let currentCollection; + let dbUrl = ""; + function chooseUrl(_whichDB) { + if (_whichDB == "local") + dbUrl = "mongodb://127.0.0.1:27017/"; + if (_whichDB == "remote") + dbUrl = "mongodb+srv://AdminForUse:XV8MXEdBYuwXtQnc@ichstudieremitgis-jfrz9.mongodb.net/IchStudiereMitGiS?retryWrites=true&w=majority"; + } + async function connectDB(_whichDB) { + chooseUrl(_whichDB); + let options = { useNewUrlParser: true, useUnifiedTopology: true }; + let mongoClient = new Mongo.MongoClient(dbUrl, options); + await mongoClient.connect(); + productsCollection = mongoClient.db("NiceIce").collection("Orders"); + console.log("Database connection: ", productsCollection != undefined); + } + handleMongo.connectDB = connectDB; + async function connectCollection(_collection) { + if (_collection == "products") + currentCollection = productsCollection; + else if (_collection == "orders") + currentCollection = ordersCollection; + } + handleMongo.connectCollection = connectCollection; + function insertEntry(_collection, _order) { + connectCollection(_collection); + currentCollection.insertOne(_order); + } + handleMongo.insertEntry = insertEntry; + async function insertObject(_collection, _order) { + debugger; + connectCollection(_collection); + /*for (const key in _order[0]) { + key.split("_id"); + } + delete _order[0]._id; + delete _order[1]._id;*/ + console.log("this _collection: ", _order); + //let replacement: ProduktObj[] = JSON.parse(JSON.stringify(_order).split("_id").join("old_id")); + await currentCollection.insert(_order[0]); + await currentCollection.insert(_order[1]); + console.log("_collection: ", _order); + /*for (const iterator of _order) { + console.log(iterator); + //let insertion: string = JSON.stringify(iterator).replace("[", "").replace("]", ""); + let replacement: ProduktObj[] = JSON.parse(JSON.stringify(iterator).split("_id").join("old_id")); + //let replacement: ProduktObj[] = JSON.parse(insertion.split("_id").join("old_id")); + await currentCollection.insert(replacement[0]); + console.log("replacement[0]", replacement[0]); + }*/ + } + handleMongo.insertObject = insertObject; + async function removeEntry(_collection, _entry) { + connectCollection(_collection); + let id = _entry._id; + let objID = new Mongo.ObjectID(id); + await currentCollection.deleteOne({ "_id": objID }); + } + handleMongo.removeEntry = removeEntry; + async function findCollection(_collection) { + connectCollection(_collection); + //await currentCollection.dropIndexes("category"); + //await currentCollection.createIndex( { category: 1}); + let foundCollection = await currentCollection.find().sort({ category: 1 }).toArray(); + return foundCollection; + } + handleMongo.findCollection = findCollection; + /* + async function findManyData(_order: Personalien): Promise { + let test: Mongo.Cursor = content.find(_order); + let testArray: Personalien[] = await test.toArray(); + console.log( testArray ); + return testArray.toString(); + } + + async function findOneData(_order: Personalien): Promise { + let test2: any = await content.findOne(_order); + console.log("findOneData: ", test2); + //console.log(test2.name); + } + + function removeData(_order: Personalien): void { + content.remove(_order); + } + */ +})(handleMongo = exports.handleMongo || (exports.handleMongo = {})); +//# sourceMappingURL=useMongo.js.map \ No newline at end of file diff --git a/Endabgabe/backend/useMongo.js.map b/Endabgabe/backend/useMongo.js.map new file mode 100644 index 0000000..d68dd6a --- /dev/null +++ b/Endabgabe/backend/useMongo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useMongo.js","sourceRoot":"","sources":["useMongo.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Endabgabe/backend/useMongo.ts b/Endabgabe/backend/useMongo.ts new file mode 100644 index 0000000..2ac3e6e --- /dev/null +++ b/Endabgabe/backend/useMongo.ts @@ -0,0 +1,101 @@ +import * as Mongo from "mongodb"; + +export namespace handleMongo { + + export interface ProduktObj { + [type: string]: string | string[] | number | undefined; + } + + let productsCollection: Mongo.Collection; + let ordersCollection: Mongo.Collection; + let currentCollection: Mongo.Collection; + let dbUrl: string = ""; + + function chooseUrl(_whichDB: string): void { + if (_whichDB == "local") + dbUrl = "mongodb://127.0.0.1:27017/"; + if (_whichDB == "remote") + dbUrl = "mongodb+srv://AdminForUse:XV8MXEdBYuwXtQnc@ichstudieremitgis-jfrz9.mongodb.net/IchStudiereMitGiS?retryWrites=true&w=majority"; + } + + export async function connectDB(_whichDB: string): Promise { // _url: string + chooseUrl(_whichDB); + let options: Mongo.MongoClientOptions = { useNewUrlParser: true, useUnifiedTopology: true }; + let mongoClient: Mongo.MongoClient = new Mongo.MongoClient(dbUrl, options); + await mongoClient.connect(); + productsCollection = mongoClient.db("NiceIce").collection("Orders"); + console.log("Database connection: ", productsCollection != undefined); + } + + export async function connectCollection(_collection: string): Promise { + if (_collection == "products") + currentCollection = productsCollection; + else if (_collection == "orders") + currentCollection = ordersCollection; + } + + export function insertEntry(_collection: string, _order: ProduktObj): void { + connectCollection(_collection); + currentCollection.insertOne(_order); + } + + export async function insertObject(_collection: string, _order: ProduktObj[]): Promise { + debugger; + connectCollection(_collection); + + /*for (const key in _order[0]) { + key.split("_id"); + } + delete _order[0]._id; + delete _order[1]._id;*/ + console.log("this _collection: ", _order); + //let replacement: ProduktObj[] = JSON.parse(JSON.stringify(_order).split("_id").join("old_id")); + await currentCollection.insert(_order[0]); + await currentCollection.insert(_order[1]); + + console.log("_collection: ", _order); + /*for (const iterator of _order) { + console.log(iterator); + //let insertion: string = JSON.stringify(iterator).replace("[", "").replace("]", ""); + let replacement: ProduktObj[] = JSON.parse(JSON.stringify(iterator).split("_id").join("old_id")); + //let replacement: ProduktObj[] = JSON.parse(insertion.split("_id").join("old_id")); + await currentCollection.insert(replacement[0]); + console.log("replacement[0]", replacement[0]); + }*/ + } + + export async function removeEntry(_collection: string, _entry: ProduktObj): Promise { + connectCollection(_collection); + let id: string = _entry._id; + let objID: Mongo.ObjectID = new Mongo.ObjectID(id); + await currentCollection.deleteOne({ "_id": objID }); + } + + export async function findCollection(_collection: string): Promise { + connectCollection(_collection); + //await currentCollection.dropIndexes("category"); + //await currentCollection.createIndex( { category: 1}); + let foundCollection: ProduktObj[] = await currentCollection.find().sort({ category: 1 }).toArray(); + return foundCollection; + } + + /* + async function findManyData(_order: Personalien): Promise { + let test: Mongo.Cursor = content.find(_order); + let testArray: Personalien[] = await test.toArray(); + console.log( testArray ); + return testArray.toString(); + } + + async function findOneData(_order: Personalien): Promise { + let test2: any = await content.findOne(_order); + console.log("findOneData: ", test2); + //console.log(test2.name); + } + + function removeData(_order: Personalien): void { + content.remove(_order); + } + */ + +} \ No newline at end of file diff --git a/Endabgabe/backend/useServer.js b/Endabgabe/backend/useServer.js new file mode 100644 index 0000000..e055263 --- /dev/null +++ b/Endabgabe/backend/useServer.js @@ -0,0 +1,91 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServerSide = void 0; +const Http = require("http"); +const url = require("url"); +const useMongo_1 = require("./useMongo"); +//import {testThis } from "mongo.js"; +var ServerSide; +(function (ServerSide) { + console.log("Starting server"); + let port = Number(process.env.PORT); + if (!port) + port = 8100; + let server = Http.createServer(); + server.addListener("request", handleRequest); + server.addListener("listening", handleListen); + server.listen(port); + let myArgs = process.argv.slice(2); + let whichDB = myArgs[0]; + useMongo_1.handleMongo.connectDB(whichDB); + function handleListen() { + console.log("Your server Listening"); + } + async function handleRequest(_request, _response) { + console.log("https://theoneandgis.herokuapp.com" + `${_request.url}`); + let myData = url.parse(`${_request.url}`, true); + let myQuery = myData.query; + let myQueryString = JSON.stringify(myQuery); + let responseUrlString = _request.url; + //let splitString: string = (_request.url).slice(0, 9); + let post = {}; + _response.setHeader("content-type", "application/json"); + _response.setHeader("Access-Control-Allow-Origin", "*"); + console.log("_request.method", _request.method); + if (_request.method == "POST") { + let body = ""; + _request.on("data", data => { + body += data; + }); + _request.on("end", async () => { + post = JSON.parse(body); + console.log("post: ", post); + post = await JSON.parse(body); + responseUrlString = "/mongo/orders/insertEntry"; + handleAction(_request, _response, myQueryString, responseUrlString, post); + }); + } + else { + await handleAction(_request, _response, myQueryString, responseUrlString, {}); + } + _response.end(); + } + async function handleAction(_request, _response, _myQueryString, _responseUrlString, _orderObj) { + console.log("handleAction", _orderObj); + let whichCollection = "products"; + if (_responseUrlString.includes("/products")) { + whichCollection = "products"; + } + if (_responseUrlString.includes("/orders")) { + whichCollection = "products"; + } + if (_responseUrlString.includes("/mongo")) { + await mongoAction(_response, _myQueryString, whichCollection, _responseUrlString, _orderObj); + } + } + async function mongoAction(_response, _query, _whichCollection, _command, _orderObj) { + let myJsonObj = JSON.parse(_query); + console.log("mongoAction", _orderObj); + if (_command.includes("/findCollection")) { + let value = await useMongo_1.handleMongo.findCollection(_whichCollection); + let handlThis = JSON.stringify(value); + _response.write(handlThis); + } + if (_command.includes("/findEntry")) { + console.log("/findEntry"); + } + /*if (_command.includes("/insertObject")) { + await useMongo.insertObject(_whichCollection, _orderObj); + //_response.write(_query); // technically no response + }*/ + if (_command.includes("/insertEntry")) { + useMongo_1.handleMongo.insertEntry(_whichCollection, myJsonObj); + _response.write(_query); // technically no response + } + if (_command.includes("/removeEntry")) { + await useMongo_1.handleMongo.removeEntry(_whichCollection, myJsonObj); + _response.write(`{"":""}`); // technically no response + } + } +})(ServerSide = exports.ServerSide || (exports.ServerSide = {})); +//# sourceMappingURL=useServer.js.map \ No newline at end of file diff --git a/Endabgabe/backend/useServer.js.map b/Endabgabe/backend/useServer.js.map new file mode 100644 index 0000000..dae7a84 --- /dev/null +++ b/Endabgabe/backend/useServer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useServer.js","sourceRoot":"","sources":["useServer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Endabgabe/backend/useServer.ts b/Endabgabe/backend/useServer.ts new file mode 100644 index 0000000..b18e4f8 --- /dev/null +++ b/Endabgabe/backend/useServer.ts @@ -0,0 +1,102 @@ +import * as Http from "http"; +import * as url from "url"; +import { ParsedUrlQuery } from "querystring"; +import { handleMongo as useMongo } from "./useMongo"; + +//import {testThis } from "mongo.js"; + +export namespace ServerSide { + + console.log("Starting server"); + let port: number = Number(process.env.PORT); + if (!port) + port = 8100; + + let server: Http.Server = Http.createServer(); + server.addListener("request", handleRequest); + server.addListener("listening", handleListen); + server.listen(port); + + let myArgs: string[] = process.argv.slice(2); + let whichDB: string = myArgs[0]; + useMongo.connectDB(whichDB); + + function handleListen(): void { + console.log("Your server Listening"); + } + + async function handleRequest(_request: Http.IncomingMessage, _response: Http.ServerResponse): Promise { + console.log("https://theoneandgis.herokuapp.com" + `${_request.url}`); + + let myData: url.UrlWithParsedQuery = url.parse(`${_request.url}`, true); + let myQuery: ParsedUrlQuery = myData.query; + let myQueryString: string = JSON.stringify(myQuery); + let responseUrlString: string = _request.url; + //let splitString: string = (_request.url).slice(0, 9); + let post: useMongo.ProduktObj = {}; + + _response.setHeader("content-type", "application/json"); + _response.setHeader("Access-Control-Allow-Origin", "*"); + console.log("_request.method", _request.method); + if (_request.method == "POST") { + let body: string = ""; + _request.on("data", data => { + body += data; + }); + _request.on("end", async () => { + post = JSON.parse(body); + console.log("post: ", post); + post = await JSON.parse(body); + responseUrlString = "/mongo/orders/insertEntry"; + handleAction(_request, _response, myQueryString, responseUrlString, post); + }); + } + else { + await handleAction(_request, _response, myQueryString, responseUrlString, {}); + } + + _response.end(); + } + + async function handleAction(_request: Http.IncomingMessage, _response: Http.ServerResponse, _myQueryString: string, _responseUrlString: string, _orderObj: useMongo.ProduktObj): Promise { + console.log("handleAction", _orderObj); + let whichCollection: string = "products"; + if ( _responseUrlString.includes("/products") ) { + whichCollection = "products"; + } + if (_responseUrlString.includes("/orders")) { + whichCollection = "products"; + } + + if ( _responseUrlString.includes("/mongo") ) { + await mongoAction(_response, _myQueryString, whichCollection, _responseUrlString, _orderObj); + } + } + + async function mongoAction(_response: Http.ServerResponse, _query: string, _whichCollection: string, _command: string, _orderObj: useMongo.ProduktObj): Promise { + let myJsonObj: useMongo.ProduktObj = JSON.parse(_query); + console.log("mongoAction", _orderObj); + + if (_command.includes("/findCollection")) { + let value: useMongo.ProduktObj[] = await useMongo.findCollection(_whichCollection); + let handlThis: string = JSON.stringify(value); + _response.write(handlThis); + } + if (_command.includes("/findEntry")) { + console.log("/findEntry"); + } + /*if (_command.includes("/insertObject")) { + await useMongo.insertObject(_whichCollection, _orderObj); + //_response.write(_query); // technically no response + }*/ + if (_command.includes("/insertEntry")) { + useMongo.insertEntry( _whichCollection, myJsonObj); + _response.write(_query); // technically no response + } + if (_command.includes("/removeEntry")) { + await useMongo.removeEntry(_whichCollection, myJsonObj); + _response.write(`{"":""}`); // technically no response + } + } + +} diff --git a/Endabgabe/html-index/images/bilder-quellen.txt b/Endabgabe/html-index/images/bilder-quellen.txt new file mode 100644 index 0000000..44d1b20 --- /dev/null +++ b/Endabgabe/html-index/images/bilder-quellen.txt @@ -0,0 +1,5 @@ +02.07.2020 | 21:31 | https://pixabay.com/de/illustrations/ice-cream-dessert-sweet-süßwaren-3490976/ +02.07.2020 | 21:32 | https://pixabay.com/de/photos/sonnenaufgang-boot-ruderboot-1014712/ +02.07.2020 | 21:35 | https://pixabay.com/de/photos/softeis-softeistüte-eis-schokoeis-50845/ +02.07.2020 | 21:40 | https://pixabay.com/de/photos/trinken-glas-gießen-bar-pub-eis-1870139/ +02.07.2020 | 21:52 | https://freiburg.stadtbesten.de/wp-content/uploads/sites/4/2017/06/ice-cream-cone-1274894_1920.jpg \ No newline at end of file diff --git a/Endabgabe/html-index/images/filler.jpg b/Endabgabe/html-index/images/filler.jpg new file mode 100644 index 0000000..62b1c43 Binary files /dev/null and b/Endabgabe/html-index/images/filler.jpg differ diff --git a/Endabgabe/html-index/images/ice-cream-3490976_1920.png b/Endabgabe/html-index/images/ice-cream-3490976_1920.png new file mode 100644 index 0000000..74302ba Binary files /dev/null and b/Endabgabe/html-index/images/ice-cream-3490976_1920.png differ diff --git a/Endabgabe/html-index/images/ice-cream-cone-1274894_1920.jpg b/Endabgabe/html-index/images/ice-cream-cone-1274894_1920.jpg new file mode 100644 index 0000000..d945c7e Binary files /dev/null and b/Endabgabe/html-index/images/ice-cream-cone-1274894_1920.jpg differ diff --git a/Endabgabe/html-index/images/nice-ice-logo.png b/Endabgabe/html-index/images/nice-ice-logo.png new file mode 100644 index 0000000..f50c969 Binary files /dev/null and b/Endabgabe/html-index/images/nice-ice-logo.png differ diff --git a/Endabgabe/html-index/images/soft-ice-cream-50845_1280.jpg b/Endabgabe/html-index/images/soft-ice-cream-50845_1280.jpg new file mode 100644 index 0000000..2e5a326 Binary files /dev/null and b/Endabgabe/html-index/images/soft-ice-cream-50845_1280.jpg differ diff --git a/Endabgabe/html-index/images/soft-ice-cream-50845_1280.png b/Endabgabe/html-index/images/soft-ice-cream-50845_1280.png new file mode 100644 index 0000000..053c436 Binary files /dev/null and b/Endabgabe/html-index/images/soft-ice-cream-50845_1280.png differ diff --git a/Endabgabe/html-index/images/sunrise-1014712_1920.jpg b/Endabgabe/html-index/images/sunrise-1014712_1920.jpg new file mode 100644 index 0000000..ce59c22 Binary files /dev/null and b/Endabgabe/html-index/images/sunrise-1014712_1920.jpg differ diff --git a/Endabgabe/html-index/index-01-phone.css b/Endabgabe/html-index/index-01-phone.css new file mode 100644 index 0000000..e69de29 diff --git a/Endabgabe/html-index/index-02-tablet.css b/Endabgabe/html-index/index-02-tablet.css new file mode 100644 index 0000000..e69de29 diff --git a/Endabgabe/html-index/index-03-desktop.css b/Endabgabe/html-index/index-03-desktop.css new file mode 100644 index 0000000..e69de29 diff --git a/Endabgabe/html-index/main-page-01-phone.css b/Endabgabe/html-index/main-page-01-phone.css new file mode 100644 index 0000000..1315c1c --- /dev/null +++ b/Endabgabe/html-index/main-page-01-phone.css @@ -0,0 +1,90 @@ +body { + font-size: 20px; + margin: 0px; + height: 100vh; + width: 100vw; + background-image: url(images/sunrise-1014712_1920.jpg); + background-position: 50% 10%; + background-repeat: no-repeat; + background-size: cover; +} + +.top-nav { + color: white; + background-color: black; + display: grid; + grid-template-columns: 70% 25%; + grid-column-gap: 5%; + text-align: center; + height: 10vh; +} +.top-nav a { + text-decoration: none; + color: white; +} +.top-nav #warenkorb { + font-size: 30px; + position: relative; + right: 10px; +} +.top-nav #logo, #warenkorb { + display: flex; + flex-direction: row; + align-items: center; + align-content: center; + justify-content: center; +} +.top-nav img { + height: 60px; + width: 220px; +} + +.bottom-nav { + background-color: hsla(0, 0%, 0%, 0%); + text-align: center; +} +.bottom-nav ul { + list-style: none; + margin: 0px; + padding: 5px; +} +.bottom-nav ul li { + background-color: rgb(0, 102, 255); + margin: 10px 0px; + border: solid rgb(0, 25, 136) 2px; + + border-radius: 10px; +} +.bottom-nav ul a { + text-decoration: none; + color: white; +} + +.bestellbox { + font-size: 30px; + position: relative; + top: 200px; + background-color: rgba(58, 58, 58, 0.8); + color: white; + display: flex; + flex-direction: column; + justify-content: space-evenly; + align-items: center; + margin: 0px 10px; + border-radius: 10px; +} +.bestellbox span { + margin: 5px 0px; +} +.bestellbox a { + text-decoration: none; + color: white; +} +.bestellbox #box-togo, #box-tostay { + background-color: rgba(128, 128, 128, 0.8); + box-shadow: 3px 3px 3px white; + text-align: center; + width: 95%; + margin: 10px 0px; + border-radius: 10px; +} diff --git a/Endabgabe/html-index/main-page-02-tablet.css b/Endabgabe/html-index/main-page-02-tablet.css new file mode 100644 index 0000000..8570d18 --- /dev/null +++ b/Endabgabe/html-index/main-page-02-tablet.css @@ -0,0 +1,25 @@ +body { + font-size: 40px; +} + +.top-nav #warenkorb { + font-size: 70px; +} +.top-nav img { + height: 100px; + width: 380px; +} + +.bestellbox { + font-size: 50px; + margin: 0px 20px; + border-radius: 20px; +} +.bestellbox span { + margin: 10px 0px; +} +.bestellbox #box-togo, #box-tostay { + width: 90%; + margin: 20px 0px; + border-radius: 20px; +} \ No newline at end of file diff --git a/Endabgabe/html-index/main-page-03-desktop.css b/Endabgabe/html-index/main-page-03-desktop.css new file mode 100644 index 0000000..c04948e --- /dev/null +++ b/Endabgabe/html-index/main-page-03-desktop.css @@ -0,0 +1,45 @@ +body { + font-size: 40px; +} + +.top-nav #warenkorb a:hover { + color:rgb(0, 102, 255); +} + +.bottom-nav { + background-color: rgb(0, 102, 255); +} +.bottom-nav ul { + font-size: 30px; + list-style: none; + display: flex; + flex-direction: row; + justify-content: space-evenly; + margin: 0px; + padding: 0px; +} +.bottom-nav ul li { + border: none; +} +.bottom-nav ul a { + text-decoration: none; + color: white; +} +.bottom-nav ul a:hover { + color: black; +} + +.top-nav { + height: 15vh; +} +.top-nav img { + height: 120px; + width: 460px; +} + +.bestellbox { + top: 150px; +} +.bestellbox #box-togo:hover, #box-tostay:hover { + background-color: rgb(0, 102, 255); +} \ No newline at end of file diff --git a/Endabgabe/html-shop/createShop.js b/Endabgabe/html-shop/createShop.js new file mode 100644 index 0000000..b6b1ccc --- /dev/null +++ b/Endabgabe/html-shop/createShop.js @@ -0,0 +1,141 @@ +"use strict"; +//mongodb + srv://AdminForUse:XV8MXEdBYuwXtQnc@ichstudieremitgis-jfrz9.mongodb.net/IchStudiereMitGiS?retryWrites=true&w=majority +//http://localhost:8100 +//https://theoneandgis.herokuapp.com +var shop; +(function (shop) { + let obj = { "_id": 1, "category": "test" }; + console.log(obj); + let serverUrl = "http://localhost:8100"; + let storageArray = []; + let combinationCount = 0; + init(); + async function init() { + printPage(); + await getProductList(); + addShopping(); + } + function printPage() { + for (let i = 1; i <= 20; i++) { + let button = document.createElement("button"); + button.setAttribute("id", "id_table_" + `${i}`); + //button.setAttribute("countNumber", "id_table_" + `${i}`); + button.innerHTML = `${i}`; + document.querySelector("#orderContainer").append(button); + } + } + async function getProductList() { + let url = serverUrl + "/mongo/products/findCollection" + "?"; + let response = await fetch(url); + let jsonResponse = await response.json(); + printProducts(jsonResponse); + printShopButton(); + //let jsonString: string = JSON.stringify(jsonResponse); //formatCollection(jsonResponse); + //(document.querySelector("#test")).innerHTML = jsonString; + } + function printProducts(_jsonResponse) { + let categoryString = []; + for (const iterator of _jsonResponse) { + if (!categoryString.find(element => element == iterator.category)) { + categoryString.push(iterator.category); + let div = document.createElement("div"); + div.setAttribute("id", "id_" + `${iterator.category}`); + document.querySelector("#productContainer").append(div); + let heading = document.createElement("h1"); + heading.innerHTML = `${iterator.category}`; + document.querySelector(`#id_${iterator.category}`).append(heading); + } + } + for (const iterator of _jsonResponse) { + let div = document.createElement("div"); + delete iterator._id; + div.innerHTML = ` +
+
${iterator.name}
+ Product + +
+ `; //${ innerIterator.imageName } + document.querySelector(`#id_${iterator.category}`).append(div); + } + } + function printShopButton() { + let next = document.createElement("button"); + let send = document.createElement("button"); + next.setAttribute("id", "nextButton"); + send.setAttribute("id", "sendButton"); + next.innerHTML = "Nächstes Eis"; + send.innerHTML = "Bestellung speichern"; + document.querySelector("#buttonContainer").append(next); + document.querySelector("#buttonContainer").append(send); + document.querySelector("#nextButton").addEventListener("click", fixCount); + document.querySelector("#sendButton").addEventListener("click", addToLocal); + } + // Button Interaction + function addShopping() { + let buttonList = document.querySelectorAll(".product_button"); + for (const iterator of buttonList) + iterator.addEventListener("click", sendProduct); + } + function sendProduct(_event) { + let target = _event.target; + let obj = JSON.parse(target.getAttribute("content")); + console.log(obj); + //console.log(target.getAttribute("content")); + addProduct(obj); + } + shop.sendProduct = sendProduct; + function addProduct(_targetString) { + //debugger; + switch (_targetString.category) { + case "container": { + if (checkMaximum(1, _targetString)) { + let index = storageArray.indexOf(storageArray.find(element => element = _targetString.category)); + storageArray[index] = JSON.stringify(_targetString); + console.log(storageArray, storageArray.toLocaleString()); + break; + } + else { + storageArray.push(JSON.stringify(_targetString)); + break; + } + } + case "flavour": { + storageArray.push(JSON.stringify(_targetString)); + console.log("_storageArray.push", JSON.stringify(_targetString)); + break; + } + case "topping": { + storageArray.push(JSON.stringify(_targetString)); + console.log("_storageArray.push", JSON.stringify(_targetString)); + break; + } + } + /*for (const iterator of storageArray) + console.log(iterator); + storageArray.push(JSON.stringify(_targetString)); + console.log(storageArray.toLocaleString());*/ + } + function checkMaximum(_maximum, _targetString) { + let countOccurence = 0; + for (let i = 0; i < storageArray.length; i++) { + let checkString = storageArray[i]; + if (checkString.includes(_targetString.category)) + countOccurence++; + if (countOccurence == _maximum) { + alert("You've already reached the maximum of " + _maximum); + return true; + } + } + return false; + } + function fixCount() { + addToLocal(); + storageArray = []; + combinationCount++; + } + function addToLocal() { + localStorage.setItem(`Combination${combinationCount}`, "[" + storageArray.toLocaleString() + "]"); + } +})(shop || (shop = {})); +//# sourceMappingURL=createShop.js.map \ No newline at end of file diff --git a/Endabgabe/html-shop/createShop.js.map b/Endabgabe/html-shop/createShop.js.map new file mode 100644 index 0000000..737c838 --- /dev/null +++ b/Endabgabe/html-shop/createShop.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createShop.js","sourceRoot":"","sources":["createShop.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Endabgabe/html-shop/createShop.ts b/Endabgabe/html-shop/createShop.ts new file mode 100644 index 0000000..0927f6c --- /dev/null +++ b/Endabgabe/html-shop/createShop.ts @@ -0,0 +1,170 @@ +//mongodb + srv://AdminForUse:XV8MXEdBYuwXtQnc@ichstudieremitgis-jfrz9.mongodb.net/IchStudiereMitGiS?retryWrites=true&w=majority +//http://localhost:8100 + +//https://theoneandgis.herokuapp.com +namespace shop { + + interface Products { + _id: any; + category: string; + name: string; + price: number; + imageName: string; + } + interface LocalProduct { + [type: string]: string | number; //| string[] | undefined; + } + + let obj: LocalProduct = {"_id": 1, "category": "test"}; + console.log(obj); + + let serverUrl: string = "http://localhost:8100"; + + let storageArray: string[] = []; + let combinationCount: number = 0; + + init(); + + async function init(): Promise { + printPage(); + await getProductList(); + addShopping(); + } + + + function printPage(): void { + for (let i: number = 1; i <= 20; i++) { + let button: HTMLButtonElement = document.createElement("button"); + button.setAttribute("id", "id_table_" + `${i}`); + //button.setAttribute("countNumber", "id_table_" + `${i}`); + button.innerHTML = `${i}`; + (document.querySelector("#orderContainer")).append(button); + } + } + + async function getProductList(): Promise { + let url: string = serverUrl + "/mongo/products/findCollection" + "?"; + let response: Response = await fetch(url); + let jsonResponse: Products[] = await response.json(); + printProducts(jsonResponse); + printShopButton(); + //let jsonString: string = JSON.stringify(jsonResponse); //formatCollection(jsonResponse); + //(document.querySelector("#test")).innerHTML = jsonString; + } + + function printProducts(_jsonResponse: Products[]): void { + let categoryString: string[] = []; + for (const iterator of _jsonResponse) { + if (!categoryString.find(element => element == iterator.category)) { + categoryString.push(iterator.category); + let div: HTMLHeadingElement = document.createElement("div"); + div.setAttribute("id", "id_" + `${iterator.category}`); + (document.querySelector("#productContainer")).append(div); + let heading: HTMLHeadingElement = document.createElement("h1"); + heading.innerHTML = `${iterator.category}`; + (document.querySelector(`#id_${iterator.category}`)).append(heading); + } + } + for (const iterator of _jsonResponse) { + let div: HTMLDivElement = document.createElement("div"); + delete iterator._id; + div.innerHTML = ` +
+
${iterator.name}
+ Product + +
+ `; //${ innerIterator.imageName } + (document.querySelector(`#id_${iterator.category}`)).append(div); + } + } + + function printShopButton(): void { + let next: HTMLButtonElement = document.createElement("button"); + let send: HTMLButtonElement = document.createElement("button"); + next.setAttribute("id", "nextButton"); + send.setAttribute("id", "sendButton"); + next.innerHTML = "Nächstes Eis"; + send.innerHTML = "Bestellung speichern"; + (document.querySelector("#buttonContainer")).append(next); + (document.querySelector("#buttonContainer")).append(send); + (document.querySelector("#nextButton")).addEventListener("click", fixCount); + (document.querySelector("#sendButton")).addEventListener("click", addToLocal); + } + + // Button Interaction + + function addShopping(): void { + let buttonList: NodeListOf = document.querySelectorAll(".product_button"); + for (const iterator of buttonList) + iterator.addEventListener("click", sendProduct); + } + + export function sendProduct(_event: Event): void { + let target: HTMLElement = (_event.target); + let obj: LocalProduct = JSON.parse(target.getAttribute("content")!); + console.log(obj); + //console.log(target.getAttribute("content")); + addProduct(obj); + } + + function addProduct(_targetString: LocalProduct): void { + //debugger; + switch (_targetString.category) { + case "container": { + if (checkMaximum(1, _targetString)) { + let index: number = storageArray.indexOf(storageArray.find(element => element = _targetString.category)!); + storageArray[index] = JSON.stringify(_targetString); + console.log(storageArray, storageArray.toLocaleString()); + break; + } + else { + storageArray.push(JSON.stringify(_targetString)); + break; + } + } + case "flavour": { + storageArray.push(JSON.stringify(_targetString)); + console.log("_storageArray.push", JSON.stringify(_targetString)); + break; + } + case "topping": { + storageArray.push(JSON.stringify(_targetString)); + console.log("_storageArray.push", JSON.stringify(_targetString)); + break; + } + } + /*for (const iterator of storageArray) + console.log(iterator); + storageArray.push(JSON.stringify(_targetString)); + console.log(storageArray.toLocaleString());*/ + } + + function checkMaximum(_maximum: number, _targetString: LocalProduct): boolean { + let countOccurence: number = 0; + for (let i: number = 0; i < storageArray.length; i++) { + let checkString: string = storageArray[i]; + if (checkString.includes(_targetString.category)) + countOccurence++; + if (countOccurence == _maximum) { + alert("You've already reached the maximum of " + _maximum); + return true; + } + } + return false; + } + + + + function fixCount(): void { + addToLocal(); + storageArray = []; + combinationCount++; + } + + function addToLocal(): void { + localStorage.setItem(`Combination${combinationCount}`, "[" + storageArray.toLocaleString() + "]"); + } + +} + diff --git a/Endabgabe/html-shop/form.html b/Endabgabe/html-shop/form.html new file mode 100644 index 0000000..8111d1b --- /dev/null +++ b/Endabgabe/html-shop/form.html @@ -0,0 +1,65 @@ + + + + + + + + Kapitel 11 + + + + + + + + + +
+ +
+ + +
+
+ +
+
+ +
+
+ + + + +
+ +
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/Endabgabe/html-shop/handleShop.js b/Endabgabe/html-shop/handleShop.js new file mode 100644 index 0000000..4185a78 --- /dev/null +++ b/Endabgabe/html-shop/handleShop.js @@ -0,0 +1,25 @@ +"use strict"; +var shop; +(function (shop) { + let countBall = 0; + let countTopping = 0; + let storageArray; + let storageObject; + function addProduct(_targetString) { + let storageProduct = [""]; + console.log(_targetString); + storageProduct.push("category"); + storageProduct.push("name"); + storageProduct.push("price"); + storageProduct.push("imageName"); + } + shop.addProduct = addProduct; + function fixCount() { + console.log("I reached here"); + } + shop.fixCount = fixCount; + /*export function addToLocal(): void { + localStorage.setItem("Combination", storageArray.toLocaleString()); + }*/ +})(shop || (shop = {})); +//# sourceMappingURL=handleShop.js.map \ No newline at end of file diff --git a/Endabgabe/html-shop/handleShop.js.map b/Endabgabe/html-shop/handleShop.js.map new file mode 100644 index 0000000..32dc6c6 --- /dev/null +++ b/Endabgabe/html-shop/handleShop.js.map @@ -0,0 +1 @@ +{"version":3,"file":"handleShop.js","sourceRoot":"","sources":["handleShop.ts"],"names":[],"mappings":";AAAA,IAAU,IAAI,CA6Bb;AA7BD,WAAU,IAAI;IAMV,IAAI,SAAS,GAAW,CAAC,CAAC;IAC1B,IAAI,YAAY,GAAW,CAAC,CAAC;IAC7B,IAAI,YAAsB,CAAC;IAC3B,IAAI,aAA2B,CAAC;IAEhC,SAAgB,UAAU,CAAC,aAAqB;QAC5C,IAAI,cAAc,GAAa,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAPe,eAAU,aAOzB,CAAA;IAED,SAAgB,QAAQ;QACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAFe,aAAQ,WAEvB,CAAA;IAED;;OAEG;AAGP,CAAC,EA7BS,IAAI,KAAJ,IAAI,QA6Bb"} \ No newline at end of file diff --git a/Endabgabe/html-shop/handleShop.ts b/Endabgabe/html-shop/handleShop.ts new file mode 100644 index 0000000..d469044 --- /dev/null +++ b/Endabgabe/html-shop/handleShop.ts @@ -0,0 +1,31 @@ +namespace shop { + + interface LocalProduct { + [type: string]: string | number; //| string[] | undefined; + } + + let countBall: number = 0; + let countTopping: number = 0; + let storageArray: String[]; + let storageObject: LocalProduct; + + export function addProduct(_targetString: string): void { + let storageProduct: String[] = [""]; + console.log(_targetString); + storageProduct.push("category"); + storageProduct.push("name"); + storageProduct.push("price"); + storageProduct.push("imageName"); + } + + export function fixCount(): void { + console.log("I reached here"); + } + + /*export function addToLocal(): void { + localStorage.setItem("Combination", storageArray.toLocaleString()); + }*/ + + +} + diff --git a/Endabgabe/html-shop/images/filler.jpg b/Endabgabe/html-shop/images/filler.jpg new file mode 100644 index 0000000..62b1c43 Binary files /dev/null and b/Endabgabe/html-shop/images/filler.jpg differ diff --git a/Endabgabe/html-shop/images/filler.png b/Endabgabe/html-shop/images/filler.png new file mode 100644 index 0000000..477a8af Binary files /dev/null and b/Endabgabe/html-shop/images/filler.png differ diff --git a/Endabgabe/html-shop/shop.html b/Endabgabe/html-shop/shop.html new file mode 100644 index 0000000..18a9081 --- /dev/null +++ b/Endabgabe/html-shop/shop.html @@ -0,0 +1,37 @@ + + + + + + + + + Document + + +
+
+ +
+  0 +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + \ No newline at end of file diff --git a/Endabgabe/html-warenkorb/warenkorb.html b/Endabgabe/html-warenkorb/warenkorb.html new file mode 100644 index 0000000..3b06fdc --- /dev/null +++ b/Endabgabe/html-warenkorb/warenkorb.html @@ -0,0 +1,38 @@ + + + + + + + + + Document + + + +
+
+ +
+  0 +
+
+
+
+ + +
+
+
+
+ +
+
+ + + \ No newline at end of file diff --git a/Endabgabe/html-warenkorb/warenkorb.js b/Endabgabe/html-warenkorb/warenkorb.js new file mode 100644 index 0000000..05deb50 --- /dev/null +++ b/Endabgabe/html-warenkorb/warenkorb.js @@ -0,0 +1,47 @@ +"use strict"; +//var lastname = localStorage.getItem("key"); +document.querySelector("#confirmOrder").addEventListener("click", printOrder); +document.querySelector("#sendOrder").addEventListener("click", confirmOrder); +let orderArray = []; +let orderNumber = 0; +async function printOrder() { + for (const key in localStorage) { + if (localStorage.getItem(key) != null) { + let content = localStorage.getItem(key); + let contentObj = await JSON.parse(content); + let contentString = "{"; + let countFlavour = 1; + let countTopping = 1; + for (const keys of contentObj) + if (keys.category == "container") + contentString += `"container"` + ":" + `"${keys.name}"` + ","; + for (const keys of contentObj) + if (keys.category == "flavour") { + contentString += `"flavour${countFlavour}"` + ":" + `"${keys.name}"` + ","; + countFlavour++; + } + for (const keys of contentObj) + if (keys.category == "topping") { + contentString += `"topping${countTopping}"` + ":" + `"${keys.name}"` + ","; + countTopping++; + } + contentString = contentString.slice(0, contentString.length - 1) + "}"; + console.log("string", contentString); + orderArray.push(contentString); + document.querySelector("#check").innerHTML += content; + console.log(contentObj); + } + } +} +async function confirmOrder() { + for (const iterator of orderArray) { + await fetch("http://localhost:8100", { + method: "POST", + headers: { + "Content-Type": "text/plain" + }, + body: iterator + }); + } +} +//# sourceMappingURL=warenkorb.js.map \ No newline at end of file diff --git a/Endabgabe/html-warenkorb/warenkorb.js.map b/Endabgabe/html-warenkorb/warenkorb.js.map new file mode 100644 index 0000000..6760a39 --- /dev/null +++ b/Endabgabe/html-warenkorb/warenkorb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"warenkorb.js","sourceRoot":"","sources":["warenkorb.ts"],"names":[],"mappings":";AAAA,6CAA6C;AAE/B,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC/E,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAM5F,IAAI,UAAU,GAAa,EAAE,CAAC;AAC9B,IAAI,WAAW,GAAW,CAAC,CAAC;AAE5B,KAAK,UAAU,UAAU;IACrB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC5B,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;YACnC,IAAI,OAAO,GAAW,YAAY,CAAC,OAAO,CAAC,GAAG,CAAE,CAAC;YACjD,IAAI,UAAU,GAAmB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,aAAa,GAAW,GAAG,CAAC;YAChC,IAAI,YAAY,GAAW,CAAC,CAAC;YAC7B,IAAI,YAAY,GAAW,CAAC,CAAC;YAE7B,KAAK,MAAM,IAAI,IAAI,UAAU;gBACzB,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW;oBAC5B,aAAa,IAAI,aAAa,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;YACtE,KAAK,MAAM,IAAI,IAAI,UAAU;gBACzB,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;oBAC5B,aAAa,IAAI,WAAW,YAAY,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;oBAC3E,YAAY,EAAE,CAAC;iBAClB;YACL,KAAK,MAAM,IAAI,IAAI,UAAU;gBACzB,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;oBAC5B,aAAa,IAAI,WAAW,YAAY,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;oBAC3E,YAAY,EAAE,CAAC;iBAClB;YAEL,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,GAAG,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEjB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAE,CAAC,SAAS,IAAI,OAAO,CAAE;YACtE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC3B;KACJ;AACL,CAAC;AAED,KAAK,UAAU,YAAY;IACvB,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;QAC/B,MAAM,KAAK,CAAC,uBAAuB,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,YAAY;aAC/B;YACD,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;KACN;AACL,CAAC"} \ No newline at end of file diff --git a/Endabgabe/html-warenkorb/warenkorb.ts b/Endabgabe/html-warenkorb/warenkorb.ts new file mode 100644 index 0000000..a17fb72 --- /dev/null +++ b/Endabgabe/html-warenkorb/warenkorb.ts @@ -0,0 +1,56 @@ +//var lastname = localStorage.getItem("key"); + +(document.querySelector("#confirmOrder")).addEventListener("click", printOrder); +(document.querySelector("#sendOrder")).addEventListener("click", confirmOrder); + +interface LocalProduct { + [type: string]: string | number; //| string[] | undefined; +} + +let orderArray: string[] = []; +let orderNumber: number = 0; + +async function printOrder(): Promise { + for (const key in localStorage) { + if (localStorage.getItem(key) != null) { + let content: string = localStorage.getItem(key)!; + let contentObj: LocalProduct[] = await JSON.parse(content); + let contentString: string = "{"; + let countFlavour: number = 1; + let countTopping: number = 1; + + for (const keys of contentObj) + if (keys.category == "container") + contentString += `"container"` + ":" + `"${keys.name}"` + ","; + for (const keys of contentObj) + if (keys.category == "flavour") { + contentString += `"flavour${countFlavour}"` + ":" + `"${keys.name}"` + ","; + countFlavour++; + } + for (const keys of contentObj) + if (keys.category == "topping") { + contentString += `"topping${countTopping}"` + ":" + `"${keys.name}"` + ","; + countTopping++; + } + + contentString = contentString.slice(0, contentString.length - 1 ) + "}"; + console.log("string", contentString); + orderArray.push(contentString); + + (document.querySelector("#check")).innerHTML += content ; + console.log(contentObj); + } + } +} + +async function confirmOrder(): Promise { + for (const iterator of orderArray) { + await fetch("http://localhost:8100", { + method: "POST", + headers: { + "Content-Type": "text/plain" + }, + body: iterator + }); + } +} \ No newline at end of file diff --git a/Endabgabe/index.css b/Endabgabe/index.css new file mode 100644 index 0000000..169c757 --- /dev/null +++ b/Endabgabe/index.css @@ -0,0 +1,9 @@ +@media screen and (min-width: 0px) { + @import url("html-index/index-01-phone.css"); +} +@media screen and (min-width: 601px) { + @import url("html-index/index-02-tablet.css"); +} +@media screen and (min-width: 1025px) { + @import url("html-index/index-03-desktop.css"); +} \ No newline at end of file diff --git a/Endabgabe/index.html b/Endabgabe/index.html new file mode 100644 index 0000000..70f7b9c --- /dev/null +++ b/Endabgabe/index.html @@ -0,0 +1,45 @@ + + + + + + + + + + Eisdile Olé + + +
+
+ +
+  0 +
+
+
+ +
+
+ Was darf's sein? + Ice to go + Gemütlich zum Tisch +
+
+ + + \ No newline at end of file diff --git a/package.json b/package.json index c1b4a7d..f9c1e09 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ }, "devDependencies": {}, "scripts": { - "start": "node Aufgaben/Aufgabe_11_2020-07-08/server.js remote" + "start": "node Endabgabe/backend/useServer.js remote" }, "repository": { "type": "git",