Procházet zdrojové kódy

Upload files to ''

christopher.ayala před 4 roky
rodič
revize
022692d221
5 změnil soubory, kde provedl 959 přidání a 0 odebrání
  1. 183
    0
      index_copy.html
  2. 538
    0
      main_2.js
  3. 147
    0
      menu2_copy.html
  4. 7
    0
      requests_data.py
  5. 84
    0
      styles.css

+ 183
- 0
index_copy.html Zobrazit soubor

@@ -0,0 +1,183 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+
4
+<head>
5
+
6
+    <meta charset="utf-8">
7
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
+    <meta name="viewport" content="width=device-width, initial-scale=1">
9
+    <meta name="description" content="">
10
+    <meta name="author" content="">
11
+
12
+    <title>LINGUINI</title>
13
+
14
+    <!-- Bootstrap Core CSS -->
15
+    <link href="css/bootstrap.min.css" rel="stylesheet">
16
+
17
+    <!-- Custom CSS -->
18
+    <link href="css/business-casual.css" rel="stylesheet">
19
+
20
+    <!-- Fonts -->
21
+    <link href="http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" rel="stylesheet" type="text/css">
22
+    <link href="http://fonts.googleapis.com/css?family=Josefin+Slab:100,300,400,600,700,100italic,300italic,400italic,600italic,700italic" rel="stylesheet" type="text/css">
23
+
24
+    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
25
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
26
+    <!--[if lt IE 9]>
27
+        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
28
+        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
29
+    <![endif]-->
30
+
31
+</head>
32
+
33
+<body>
34
+
35
+    <div class="brand">
36
+        <a href="/index.html">
37
+        <img class="img-responsive img-full" src="img/top-kobe.png" alt="">
38
+        </a>
39
+    </div>
40
+    <div class="address-bar" style="padding:0">Ave. Domenech #308 | San Juan, Puerto Rico 00918 | (787)752-0213</div>
41
+
42
+    <!-- Navigation -->
43
+    <nav class="navbar navbar-default" style="margin: 0px" role="navigation">
44
+        <div class="container">
45
+            <!-- Brand and toggle get grouped for better mobile display -->
46
+            <div class="navbar-header">
47
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
48
+                    <span class="sr-only">Toggle navigation</span>
49
+                    <span class="icon-bar"></span>
50
+                    <span class="icon-bar"></span>
51
+                    <span class="icon-bar"></span>
52
+                </button>
53
+                <!-- navbar-brand is hidden on larger screens, but visible when the menu is collapsed -->
54
+                <a class="navbar-brand" href="index.html">Linguini donde tu eres el chef</a>
55
+            </div>
56
+            <!-- Collect the nav links, forms, and other content for toggling -->
57
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
58
+                <ul class="nav navbar-nav">
59
+                    <li>
60
+                        <a href="index.html">Home</a>
61
+                    </li>
62
+                    <li>
63
+                        <a href="about.html">About Us</a>
64
+                    </li>
65
+                    <li>
66
+                        <a href="menu2.html">Menu</a>
67
+                    </li>
68
+                    <li>
69
+                        <a href="gallery.html">Gallery</a>
70
+                    </li>
71
+                </ul>
72
+            </div>
73
+            <!-- /.navbar-collapse -->
74
+        </div>
75
+        <!-- /.container -->
76
+    </nav>
77
+
78
+    <div class="container">
79
+
80
+        <div class="row">
81
+            <div class="box">
82
+                <div class="col-lg-12 text-center">
83
+                    <div id="carousel-example-generic" class="carousel slide">
84
+                        <!-- Indicators -->
85
+                        <ol class="carousel-indicators hidden-xs">
86
+                            <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
87
+                            <li data-target="#carousel-example-generic" data-slide-to="1"></li>
88
+                            <li data-target="#carousel-example-generic" data-slide-to="2"></li>
89
+                            <li data-target="#carousel-example-generic" data-slide-to="3"></li>
90
+                            <li data-target="#carousel-example-generic" data-slide-to="4"></li>
91
+                            <li data-target="#carousel-example-generic" data-slide-to="5"></li>
92
+                            <li data-target="#carousel-example-generic" data-slide-to="6"></li>
93
+                            <li data-target="#carousel-example-generic" data-slide-to="7"></li>
94
+                        </ol>
95
+
96
+                    
97
+                    <!--<h2 class="brand-before">
98
+                        <small>Bienvenido a</small>
99
+                    </h2>
100
+                    <h1 class="brand-name">Linguini</h1>
101
+                    <hr class="tagline-divider">
102
+                    <h2>
103
+                        <small>By
104
+                            <strong>Start Bootstrap</strong>
105
+                        </small>
106
+                    </h2>
107
+                    -->
108
+                </div>
109
+            </div>
110
+        </div>
111
+
112
+        <div class="row">
113
+            <div class="box">
114
+                <div class="col-lg-12">
115
+                    <hr>
116
+                    <h2 class="intro-text text-center">Un restaurante que
117
+                        <strong>vale la pena visitar</strong>
118
+                    </h2>
119
+                    <hr>
120
+                    <img class="img-responsive img-border img-full" src="img/select.jpg" alt="">
121
+                    <hr class="visible-xs">
122
+                    <br>
123
+                    <p>Somos tu mejor alternativa para deleitar una rica y deliciosa pasta creada con los ingredientes que desees, porque aquí tú eres el Chef.</p>
124
+                    <p></p>
125
+                    <p>Ven y visita nuestro restaurante para confeccionar tu plato de pasta al momento, y frente a tí. En nuestro pasta bar, escoges la pasta, la salsa, los vegetales, la carne de tu preferencia y el queso.</p>
126
+                </div>
127
+            </div>
128
+        </div>
129
+        <div class="row">
130
+            <hr>
131
+            <h2 class="intro-text text-center">
132
+                <strong>Especiales Diarios</strong>
133
+            </h2>
134
+            <hr>
135
+            <img class="img-responsive img-full" src="img/special.jpg" alt="">
136
+        </div>
137
+        <!--
138
+        <div class="row">
139
+            <div class="box">
140
+                <div class="col-lg-12">
141
+                    <hr>
142
+                    <h2 class="intro-text text-center">Boxes
143
+                        <strong>para mostrar contenido</strong>
144
+                    </h2>
145
+                    <hr>
146
+                    <p>Aqui se pueden colocar mas boxes... coloca todo lo que quiera dentro estos.</p>
147
+                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc placerat diam quis nisl vestibulum dignissim. In hac habitasse platea dictumst. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
148
+                </div>
149
+            </div>
150
+        </div>
151
+        -->
152
+
153
+    </div>
154
+    <!-- /.container -->
155
+
156
+    <footer>
157
+        <div class="container">
158
+            <div class="row">
159
+                <div class="col-lg-12 text-center">
160
+                    <p>Ave. Domenech #308 | San Juan, Puerto Rico 00918<br>
161
+                        Tel : (787)752-0213<br>
162
+                        &copy; 2020 Alexotic. All rights reserved</p>
163
+                </div>
164
+            </div>
165
+        </div>
166
+    </footer>
167
+
168
+    <!-- jQuery -->
169
+    <script src="js/jquery.js"></script>
170
+
171
+    <!-- Bootstrap Core JavaScript -->
172
+    <script src="js/bootstrap.min.js"></script>
173
+
174
+    <!-- Script to Activate the Carousel -->
175
+    <script>
176
+    $('.carousel').carousel({
177
+        interval: 5000 //changes the speed
178
+    })
179
+    </script>
180
+
181
+</body>
182
+
183
+</html>

+ 538
- 0
main_2.js Zobrazit soubor

@@ -0,0 +1,538 @@
1
+
2
+var response;
3
+angular.module('RestaurantApp',[])
4
+
5
+angular.module('RestaurantApp')
6
+	.factory('factoryRestInfo', [function() {
7
+
8
+		jQuery.getJSON('http://136.145.231.48:5000/retrieveMenu', function(data) {
9
+			alert(data);
10
+  		//var obj = JSON.parse(data);
11
+});
12
+
13
+
14
+var datos = jQuery.getJSON('http://136.145.231.48:5000/retrieveMenu', function(response) {
15
+    // do something with response
16
+		return response;
17
+});
18
+// INGREDIENTS datos = jQuery.get('http://136.145.231.48:5000/retrieveMenu');
19
+
20
+var ingredientArray = [];
21
+var Ingredients = function(name, cals, vegan, glutenFree, citrusFree) {
22
+
23
+	this.name = name,
24
+	this.cals = cals,
25
+	this.vegan = vegan,
26
+	this.glutenFree = glutenFree,
27
+	this.citrusFree = citrusFree,
28
+	ingredientArray.push(this)
29
+}
30
+
31
+		var bread = new Ingredients (
32
+
33
+			"desc dietetica",
34
+			600,
35
+			true,
36
+			false,
37
+			true
38
+
39
+			)
40
+
41
+		var potatoes = new Ingredients (
42
+
43
+			"desc dietetica",
44
+			200,
45
+			true,
46
+			true,
47
+			true
48
+
49
+			)
50
+
51
+		var escargot = new Ingredients (
52
+
53
+			"desc dietetica",
54
+			200,
55
+			false,
56
+			true,
57
+			true
58
+
59
+			)
60
+
61
+		var vodka = new Ingredients (
62
+
63
+			"desc dietetica",
64
+			250,
65
+			true,
66
+			true,
67
+			true
68
+
69
+			)
70
+
71
+		var citrus = new Ingredients (
72
+
73
+			"desc dietetica",
74
+			10,
75
+			true,
76
+			true,
77
+			false
78
+
79
+			)
80
+
81
+		var soda = new Ingredients (
82
+
83
+			"desc dietetica",
84
+			120,
85
+			true,
86
+			true,
87
+			true
88
+
89
+			)
90
+
91
+		var lamb = new Ingredients (
92
+
93
+			"desc dietetica",
94
+			600,
95
+			false,
96
+			true,
97
+			true
98
+
99
+			)
100
+
101
+		var gravy = new Ingredients (
102
+
103
+			"desc dietetica",
104
+			2000,
105
+			false,
106
+			false,
107
+			true
108
+
109
+			)
110
+
111
+// DRINKS
112
+var drinkArray = [];
113
+var DrinkItem = function(name, description, price, contents) {
114
+	this.name = name;
115
+	this.description = description;
116
+	this.price = price;
117
+	this.contents = contents;
118
+	this.activeToolTip = false;
119
+	drinkArray.push(this)
120
+}
121
+DrinkItem.prototype.isVegan = function(){
122
+	var vegan = true;
123
+
124
+	this.contents.forEach(function (element) {
125
+		if(element.vegan === false) {
126
+			vegan = false
127
+		}
128
+	})
129
+	return vegan
130
+}
131
+DrinkItem.prototype.isGlutenFree = function(){
132
+	var glutenFree = true;
133
+
134
+	this.contents.forEach(function (element) {
135
+		if(element.glutenFree === false) {
136
+			glutenFree = false
137
+		}
138
+	})
139
+	return glutenFree
140
+}
141
+DrinkItem.prototype.isCitrusFree = function(){
142
+	var citrusFree = true;
143
+
144
+	this.contents.forEach(function (element) {
145
+		if(element.citrusFree === false) {
146
+			citrusFree = false
147
+		}
148
+	})
149
+	return citrusFree
150
+}
151
+
152
+		var moscowMule = new DrinkItem (
153
+
154
+			'AGua',
155
+			'Agua',
156
+			10.0,
157
+			[soda, citrus, vodka],
158
+			true,
159
+			true,
160
+			false
161
+
162
+			)
163
+
164
+		var margie = new DrinkItem (
165
+
166
+			'sangria',
167
+			'Bro',
168
+			2.5,
169
+			[vodka, citrus],
170
+			true,
171
+			true,
172
+			false
173
+
174
+			)
175
+
176
+// FOOD PLATES
177
+
178
+
179
+var plateArray = [];
180
+		var FoodPlate = function(name, description, price, contents) {
181
+
182
+			this.name = name;
183
+			this.description = description;
184
+			this.price = price;
185
+			this.contents = contents;
186
+			this.activeToolTip = false;
187
+			plateArray.push(this)
188
+
189
+		}
190
+FoodPlate.prototype.isVegan = function(){
191
+	var vegan = true;
192
+
193
+	this.contents.forEach(function (element) {
194
+		if(element.vegan === false) {
195
+			vegan = false
196
+		}
197
+	})
198
+	return vegan
199
+}
200
+FoodPlate.prototype.isGlutenFree = function(){
201
+	var glutenFree = true;
202
+
203
+	this.contents.forEach(function (element) {
204
+		if(element.glutenFree === false) {
205
+			glutenFree = false
206
+		}
207
+	})
208
+	return glutenFree
209
+}
210
+FoodPlate.prototype.isCitrusFree = function(){
211
+	var citrusFree = true;
212
+
213
+	this.contents.forEach(function (element) {
214
+		if(element.citrusFree === false) {
215
+			citrusFree = false
216
+		}
217
+	})
218
+	return citrusFree
219
+}
220
+
221
+
222
+		var banhMi = new FoodPlate (
223
+
224
+			'Hamburguer',
225
+			'Un hamburguer con pan, carne, tomate y lechuga',
226
+			7.25,
227
+			[bread, lamb],
228
+			false,
229
+			true
230
+			)
231
+
232
+		var poutine = new FoodPlate (
233
+
234
+			'Vegan Burguer sike',
235
+			'un hamburguer con pan, habichuelas como carne, tomate y lechuga lmao',
236
+			10.9,
237
+			[potatoes, gravy],
238
+			false,
239
+			true
240
+
241
+			)
242
+
243
+		var escargot = new FoodPlate (
244
+
245
+			'Food',
246
+			'Es una pizza muy buen',
247
+			10.0,
248
+			[escargot, gravy, citrus, bread],
249
+			false,
250
+			true
251
+
252
+			)
253
+
254
+		var bolaDeHamberguer = new FoodPlate (
255
+
256
+			'Hamburguesa doble',
257
+			'es una bola',
258
+			10.0,
259
+			[escargot, gravy, citrus, bread],
260
+			false,
261
+			true
262
+			)
263
+
264
+		var lasagnita = new FoodPlate (
265
+
266
+			'Lasagna',
267
+			'una lasagna con c ingredientes',
268
+			5.5,
269
+			[escargot, gravy, citrus, bread],
270
+			false,
271
+			true
272
+
273
+			)
274
+
275
+
276
+		var lasagnaFake = new FoodPlate (
277
+
278
+			'Lasanga fake',
279
+			'tiene otros ingredientes',
280
+			5.3,
281
+			[escargot, gravy, citrus, bread],
282
+			false,
283
+			true
284
+
285
+			)
286
+
287
+		var pastaCarne = new FoodPlate (
288
+
289
+			'Pasta con carne',
290
+			'Esto es una pasta rotini con salsa algo con carne de cerdo con cebolla ajo cilantro y mas ingredientes',
291
+			5.5,
292
+			[escargot, gravy, citrus, bread],
293
+			false,
294
+			true
295
+
296
+			)
297
+
298
+		var pastaNoCarne = new FoodPlate (
299
+
300
+			'pasta sin carne',
301
+			'Esto es una pasta penne con salsa algo con carne de cerdo con cebolla ajo cilantro y mas ingredientes',
302
+			5.5,
303
+			[escargot, gravy, citrus, bread],
304
+			false,
305
+			true
306
+
307
+			)
308
+
309
+		var pizzaQueso = new FoodPlate (
310
+
311
+			'Pizza',
312
+			'Una pizza de queso',
313
+			9.99,
314
+			[escargot, gravy, citrus, bread],
315
+			false,
316
+			true
317
+
318
+			)
319
+
320
+		var pizzaQueso = new FoodPlate (
321
+
322
+			'Pizza',
323
+			'Una pizza de queso',
324
+			9.99,
325
+			[escargot, gravy, citrus, bread],
326
+			false,
327
+			true
328
+
329
+			)
330
+
331
+		var masFood = new FoodPlate (
332
+
333
+			'food',
334
+			'Es una comida buena',
335
+			20.0,
336
+			[escargot, gravy, citrus, bread],
337
+			false,
338
+			true
339
+
340
+			)
341
+
342
+		var moreeFood = new FoodPlate (
343
+
344
+			'Food',
345
+			'Comida',
346
+			5.15,
347
+			[escargot, gravy, citrus, bread],
348
+			false,
349
+			true
350
+
351
+			)
352
+
353
+		var masPastaConCarne = new FoodPlate (
354
+
355
+			'Pasta con carne',
356
+			'Comida',
357
+			8.99,
358
+			[escargot, gravy, citrus, bread],
359
+			false,
360
+			true
361
+
362
+			)
363
+
364
+		var pastaNoCarne2 = new FoodPlate (
365
+
366
+			'pasta sin carne',
367
+			'Esto es una pasta penne con salsa algo con carne de cerdo con cebolla ajo cilantro y mas ingredientes',
368
+			7.99,
369
+			[escargot, gravy, citrus, bread],
370
+			false,
371
+			true
372
+
373
+			)
374
+
375
+
376
+
377
+// MENU
378
+
379
+var menuArray = []
380
+var Menu = function(drinks, foods) {
381
+	this.drinks = drinks;
382
+	this.foods = foods;
383
+	menuArray.push(this)
384
+}
385
+
386
+		var menuArray = new Menu(drinkArray, plateArray)
387
+
388
+// INFO RESTAURANTE
389
+
390
+var Restaurant = function(name, address, phone, description, email, owners, menu) {
391
+	this.name = name;
392
+	this.address = address;
393
+	this.phone = phone;
394
+	this.description = description;
395
+	this.email = email;
396
+	this.owners = owners;
397
+	this.menu = menuArray;
398
+}
399
+
400
+		var restaurantInfo = new Restaurant (
401
+			'Linguini',
402
+			'Ave. Domenech #308 | San Juan, Puerto Rico 00918',
403
+			'Grupo 1',
404
+			'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n Ordena en linea...',
405
+			'linguini@email-here.com',
406
+			'Alexotic',
407
+			menuArray
408
+			)
409
+// INFO CONSUMIDOR
410
+
411
+var custyArray = []
412
+var Customer = function(vegan, glutenFree, citrusFree){
413
+	this.vegan = vegan
414
+	this.glutenFree = glutenFree
415
+	this.citrusFree = citrusFree
416
+	custyArray.push(this)
417
+}
418
+
419
+///////////////////////////////
420
+
421
+	return {
422
+		restaurant		: restaurantInfo,
423
+		menuArray		: menuArray,
424
+		custyArray  	: custyArray,
425
+		ingredientArray : ingredientArray,
426
+		drinkArray		: drinkArray,
427
+		plateArray		: plateArray
428
+	}
429
+
430
+	}]);
431
+
432
+//////////////////////////////
433
+
434
+// Restaurant.prototype.stringify = function() {
435
+// 	return 'Welcome to ' + this.name + '!  We\'re excited to have you.\n  Conveniently located at ' + this.address + '.  Our new menu consists of:\nThese drinks: ' + (drinkArray.map(function(item){return item.name})) + ', and this food: ' + ((plateArray.map(function(item){return item.name}))) + '.'
436
+// }
437
+// console.log(restaurantInfo.stringify());
438
+
439
+angular.module('RestaurantApp')
440
+	.controller('controllerRestaurant', ['$scope', 'factoryRestInfo', function($scope, factoryRestInfo) {
441
+
442
+		// FACTORY CONTROLLER SCOPES
443
+
444
+		$scope.custyArray = factoryRestInfo.custyArray;
445
+		$scope.menuComplete = factoryRestInfo.menuArray;
446
+		$scope.restaurantDeets = factoryRestInfo.restaurant;
447
+		$scope.ingredientArray = factoryRestInfo.ingredientArray;
448
+		$scope.drinkArray = factoryRestInfo.drinkArray;
449
+		$scope.plateArray = factoryRestInfo.plateArray
450
+
451
+		// FUNCION SHOW-HIDE
452
+
453
+		$scope.userMessage = "Entre su información"
454
+			$scope.messageList = function() {
455
+				$scope.listAppearWhenClicked = !$scope.listAppearWhenClicked;
456
+					if ($scope.listAppearWhenClicked === !true) {
457
+						$scope.userMessage = "Entre su información"
458
+					}
459
+					else {
460
+						$scope.userMessage = "Cerrar"
461
+					}
462
+				}
463
+
464
+		// FUNCION TOTAL DE ORDEN
465
+
466
+		$scope.rounded = 0
467
+		$scope.orderTotal = 0
468
+		$scope.order = [];
469
+			$scope.addItem = function (item) {
470
+				$scope.order.push(item)
471
+				$scope.orderTotal = $scope.orderTotal+item.price;
472
+				$scope.rounded = $scope.orderTotal.toFixed(2);
473
+			}
474
+
475
+		// INFO DEL CLIENTE Y TOOLTIPPER
476
+
477
+		$scope.emptyForm = function () {
478
+			$scope.diet = {
479
+			name: "",
480
+			address: "",
481
+			phone: "",
482
+			vegan : "",
483
+			glutenFree : "",
484
+			citrusFree : ""
485
+			}
486
+		}
487
+
488
+		$scope.saveCusty = function() {
489
+				$scope.listAppearWhenClicked = !$scope.listAppearWhenClicked;
490
+				$scope.custyArray.push($scope.diet);
491
+				console.log($scope.custyArray)
492
+
493
+			for (var i = 0; i < $scope.custyArray.length; i++) {
494
+
495
+				for (var j = 0; j < $scope.plateArray.length; j++) {
496
+					if ( $scope.custyArray[i].vegan === true && $scope.plateArray[j].isVegan() === false) {
497
+						$scope.plateArray[j].activeToolTip = true;
498
+					}
499
+					else if ($scope.custyArray[i].glutenFree === true && $scope.plateArray[j].isGlutenFree() === false){
500
+						$scope.plateArray[j].activeToolTip = true;
501
+					}
502
+					else if ($scope.custyArray[i].citrusFree === true && $scope.plateArray[j].isCitrusFree() === false){
503
+						$scope.plateArray[j].activeToolTip = true;
504
+					}
505
+				}
506
+				for (var j = 0; j < $scope.drinkArray.length; j++) {
507
+					if ( $scope.custyArray[i].vegan === true && $scope.drinkArray[j].isVegan() === false) {
508
+						$scope.drinkArray[j].activeToolTip = true;
509
+					}
510
+					else if ($scope.custyArray[i].glutenFree === true && $scope.drinkArray[j].isGlutenFree() === false){
511
+						$scope.drinkArray[j].activeToolTip = true;
512
+					}
513
+					else if ($scope.custyArray[i].citrusFree === true && $scope.drinkArray[j].isCitrusFree() === false){
514
+						$scope.drinkArray[j].activeToolTip = true;
515
+					}
516
+				}
517
+			}
518
+			$scope.emptyForm();
519
+				if ($scope.listAppearWhenClicked === !true) {
520
+					$scope.userMessage = "Entre su información"
521
+				}
522
+				else {
523
+					$scope.userMessage = "Cerrar"
524
+				}
525
+		}
526
+
527
+			$scope.resetForm = function() {
528
+				$scope.custyArray = []
529
+				for (var i = 0; i < $scope.plateArray.length; i++) {
530
+					$scope.plateArray[i].activeToolTip = false;
531
+				}
532
+				for (var j = 0; j < $scope.drinkArray.length; j++) {
533
+					$scope.drinkArray[j].activeToolTip = false;
534
+				}
535
+			}
536
+
537
+
538
+	}]);

+ 147
- 0
menu2_copy.html Zobrazit soubor

@@ -0,0 +1,147 @@
1
+<!DOCTYPE html>
2
+<html lang="en" ng-app="RestaurantApp">
3
+  <head>
4
+    <meta charset="utf-8">
5
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+    <meta name="viewport" content="width=device-width, initial-scale=1">
7
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
8
+    <meta name="description" content="">
9
+    <meta name="author" content="">
10
+
11
+    <title>Linguini-Menu</title>
12
+
13
+    <!-- Bootstrap core CSS -->
14
+    <link href="css2/bootstrap.min.css" rel="stylesheet">
15
+
16
+    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
17
+    <link href="css2/ie10-viewport-bug-workaround.css" rel="stylesheet">
18
+
19
+    <!-- Custom styles for this template -->
20
+    <link href="css2/carousel.css" rel="stylesheet">
21
+
22
+    <link rel="stylesheet" href="css2/styles.css">
23
+
24
+  </head>
25
+
26
+  <body ng-controller="controllerRestaurant">
27
+    <!-- Carousel
28
+    ================================================== -->
29
+    <div class="carousel slide">
30
+      <div class="carousel-inner">
31
+        <div class="item active">
32
+          <img src="/Users/christopherayala/Documents/ccom4030_0U1/restaurant_app/mobile_app/www/img/logo.png" alt="First slide">
33
+          <div class="container">
34
+            <div class="carousel-caption">
35
+              <h1>{{restaurantDeets.name}}</h1>
36
+              <h3>{{restaurantDeets.description}}</h3>
37
+            </div>
38
+          </div>
39
+        </div>
40
+      </div>
41
+    </div><!-- /.carousel -->
42
+
43
+    <div class="container marketing">
44
+
45
+      <!-- Three columns of text below the carousel -->
46
+      <div class="row">
47
+        <div class="col-lg-4">
48
+          <img class="img-circle" src="/Users/christopherayala/Documents/ccom4030_0U1/restaurant_app/mobile_app/www/img/water.png" alt="drink image" width="140" height="140">
49
+          <h2>Bebidas</h2>
50
+          <p>Escoge tu bebida preferida.</p>
51
+          <p><a class="btn btn-default" href="#beverages" role="button">Ver mas &raquo;</a></p>
52
+        </div><!-- /.col-lg-4 -->
53
+        <div class="col-lg-4">
54
+          <img class="img-circle" src="/Users/christopherayala/Documents/ccom4030_0U1/restaurant_app/mobile_app/www/img/people.png" alt="user Pref" width="140" height="140">
55
+          <h2>Filtrar por Preferencias</h2>
56
+          <p>Escoja si tiene alguna preferencia dietetica que debamos saber. Favor de llevar su informacion a continuacion: </p>
57
+          <p><a class="btn btn-default userBtn" role="button" ng-click="messageList()">{{userMessage}} &raquo;</a></p>
58
+            <div class="diet" ng-show="listAppearWhenClicked">
59
+              <input class="text" type="text" placeholder="Nombre"ng-model="diet.name"><br>
60
+              <input class="text" type="text" placeholder="Indique Alergias" ng-model="diet.address" ><br>
61
+              <input class="text" type="text" placeholder="Numero de telefono" ng-model="diet.phone" ><br>
62
+              <form name="form" ng-submit="saveCusty()">
63
+                <input ng-model="diet.vegan" class="checkbox" type="checkbox" value="vegan">Vegano<br>
64
+                <input ng-model="diet.glutenFree" class="checkbox" type="checkbox" value="glutenFree">Sin Gluten<br>
65
+                <input ng-model="diet.citrusFree" class="checkbox" type="checkbox" value="citrusFree">No Cítricos<br>
66
+                  <input ng-click="toolTipper()" type="submit" value="Someter">
67
+                  <input ng-click="resetForm()" type="button" value="Restablecer">
68
+              </form>
69
+            </div>
70
+        </div><!-- /.col-lg-4 -->
71
+        <div class="col-lg-4">
72
+          <img class="img-circle" src="/Users/christopherayala/Documents/ccom4030_0U1/restaurant_app/mobile_app/www/img/carousel/pizzeta.jpg" alt="food image" width="140" height="140">
73
+          <h2>Comida</h2>
74
+          <p>FOOD FOOD FOOD. You Hungry?</p>
75
+          <p><a class="btn btn-default" href="#food" role="button">Ver mas &raquo;</a></p>
76
+        </div><!-- /.col-lg-4 -->
77
+      </div><!-- /.row -->
78
+
79
+
80
+      <!-- START THE FEATURETTES -->
81
+
82
+      <hr class="featurette-divider">
83
+
84
+      <div class="row featurette">
85
+        <div class="col-md-7">
86
+          <a name="beverages"></a><h2 class="featurette-heading">Bebidas</h2>
87
+            <dl ng-repeat="bev in menuComplete.drinks" class="drinkMenu">
88
+              <dt class="menuItems">{{bev.name}}, ${{bev.price}}</dt>
89
+              <dd class="description">{{bev.description}}</dd>
90
+                <dd class="details" ng-repeat="ingredient in bev.contents">{{ingredient.name}}</dd>
91
+                <dd class="add"><button type="button" ng-click="addItem(bev)">Añadir Orden</button><span class="message" ng-show="bev.activeToolTip">WARNING: THIS DOES NOT MEET YOUR FOOD PREFERENCES</span></dd>
92
+            </dl>
93
+        </div>
94
+        <div class="col-md-5">
95
+          <img class="featurette-image img-responsive center-block" src="/Users/christopherayala/Documents/ccom4030_0U1/restaurant_app/mobile_app/www/img/jugo.png" alt="drink menu image">
96
+        </div>
97
+      </div>
98
+
99
+      <hr class="featurette-divider">
100
+
101
+      <div class="row featurette">
102
+        <div class="col-md-7 col-md-push-5">
103
+          <a name="food"></a><h2 class="featurette-heading">Comida</h2>
104
+            <dl ng-repeat="food in menuComplete.foods" class="foodMenu">
105
+              <dt class="menuItems">{{food.name}}, {{food.price}}</dt>
106
+              <dd class="description">{{food.description}}</dd>
107
+              <dd class="details" ng-repeat="ingredient in food.contents">{{ingredient.name}}</dd>
108
+              <dd class="add"><button type="checkbox" ng-click="addItem(food)">Añadir Orden</button><span class="message" ng-show="food.activeToolTip">WARNING: THIS DOES NOT MEET YOUR FOOD PREFERENCES</span></dd>
109
+            </dl>
110
+        </div>
111
+        <div class="col-md-5 col-md-pull-7">
112
+          <img class="featurette-image img-responsive center-block" src="/Users/christopherayala/Documents/ccom4030_0U1/restaurant_app/mobile_app/www/img/openhour.jpg" alt="food image">
113
+        </div>
114
+      </div>
115
+
116
+      <hr class="featurette-divider">
117
+    </div>
118
+      <!-- /END THE FEATURETTES -->
119
+
120
+      <div class="cart">
121
+        <h2>El total de su orden es: <br>${{rounded}}</h2>
122
+      </div>
123
+
124
+    <!-- /.container -->
125
+
126
+      <!-- FOOTER -->
127
+      <footer>
128
+        <p class="pull-right"><a href="#">Back to top</a></p>
129
+        <p>&copy; 2020 {{restaurantDeets.owners}} &middot; {{restaurantDeets.phone}} &middot; {{restaurantDeets.email}} &middot; {{restaurantDeets.address}}</p>
130
+      </footer>
131
+
132
+
133
+
134
+    <!-- Bootstrap core JavaScript
135
+    ================================================== -->
136
+    <!-- Placed at the end of the document so the pages load faster -->
137
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
138
+    <script>window.jQuery || document.write('<script src="jss/jquery.min.js"><\/script>')</script>
139
+    <script src="js/bootstrap.min.js"></script>
140
+    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
141
+    <script src="js/ie10-viewport-bug-workaround.js"></script>
142
+
143
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.9/angular.js"></script>
144
+    <script type="text/javascript" src="js2/main_2.js"></script>
145
+
146
+  </body>
147
+</html>

+ 7
- 0
requests_data.py Zobrazit soubor

@@ -0,0 +1,7 @@
1
+import requests
2
+
3
+url = 'http://136.145.231.48:5000/retrieveMenu'
4
+x = requests.get(url)
5
+#print la respuesta en text (el objeto contenido en el json):
6
+
7
+print(x.text)

+ 84
- 0
styles.css Zobrazit soubor

@@ -0,0 +1,84 @@
1
+body {
2
+	padding-bottom: 0;
3
+}
4
+
5
+.featurette-divider {
6
+	margin: 40px 0;
7
+}
8
+
9
+.carousel img {
10
+  width: 100vw;
11
+  object-fit: cover;
12
+  overflow: hidden;
13
+  	border-bottom: 3px solid #928c8c;
14
+
15
+}
16
+
17
+.userBtn {
18
+	background-color: #f0ad4e;
19
+}
20
+
21
+.diet .text {
22
+	width: 90%;
23
+	margin-bottom: 5px;
24
+}
25
+
26
+.diet .checkbox {
27
+	display: inline;
28
+	margin-right: 5px;
29
+}
30
+
31
+dt {
32
+	font-size: 2rem;
33
+}
34
+
35
+.details {
36
+	display: inline;
37
+}
38
+
39
+.add button {
40
+	background-color: #2980b9;
41
+	color: white;
42
+	padding: 10px 20px;
43
+	border-radius: 10px;
44
+	border: 1px solid #95a5a6;
45
+	position: relative;
46
+	left: 0;
47
+}
48
+
49
+
50
+.cart {
51
+	position: fixed;
52
+	bottom: 0px;
53
+	right: 0px;
54
+	background-color: rgba(237,167,193, 0.75);
55
+	width: 150px;
56
+	text-align: center;
57
+	padding: 10px 10px;
58
+	margin-bottom: 151px;
59
+}
60
+
61
+.cart h2 {
62
+	font-size: 2rem;
63
+}
64
+
65
+.message {
66
+	margin-left: 10px;
67
+	padding: 5px 10px;
68
+	background-color: #e74c3c;
69
+	color: white;
70
+}
71
+
72
+footer {
73
+	width: 100%;
74
+	padding: 60px 40px;
75
+	font-size: 1.5rem;
76
+	background-color: #5a5a5a;
77
+	color: #fff;
78
+}
79
+
80
+footer a {
81
+	color: #fff;
82
+	text-decoration: none;
83
+	font-size: 1.5rem;
84
+}