├── backend ├── node_modules │ ├── qs │ │ ├── .eslintignore │ │ ├── test │ │ │ ├── index.js │ │ │ └── .eslintrc │ │ ├── lib │ │ │ ├── index.js │ │ │ └── formats.js │ │ ├── .editorconfig │ │ └── .eslintrc │ ├── stripe │ │ ├── VERSION │ │ ├── lib │ │ │ ├── resources │ │ │ │ ├── Tokens.js │ │ │ │ ├── AccountLinks.js │ │ │ │ ├── Events.js │ │ │ │ ├── Plans.js │ │ │ │ ├── TaxRates.js │ │ │ │ ├── ApplePayDomains.js │ │ │ │ ├── Coupons.js │ │ │ │ ├── WebhookEndpoints.js │ │ │ │ ├── LoginLinks.js │ │ │ │ ├── Checkout │ │ │ │ │ └── Sessions.js │ │ │ │ ├── Terminal │ │ │ │ │ ├── ConnectionTokens.js │ │ │ │ │ ├── Readers.js │ │ │ │ │ └── Locations.js │ │ │ │ ├── Reporting │ │ │ │ │ ├── ReportTypes.js │ │ │ │ │ └── ReportRuns.js │ │ │ │ ├── IssuerFraudRecords.js │ │ │ │ ├── Radar │ │ │ │ │ ├── ValueListItems.js │ │ │ │ │ └── ValueLists.js │ │ │ │ ├── CountrySpecs.js │ │ │ │ ├── ExchangeRates.js │ │ │ │ ├── OrderReturns.js │ │ │ │ ├── Sigma │ │ │ │ │ └── ScheduledQueryRuns.js │ │ │ │ ├── ThreeDSecure.js │ │ │ │ ├── InvoiceItems.js │ │ │ │ ├── SubscriptionItems.js │ │ │ │ ├── Issuing │ │ │ │ │ ├── Transactions.js │ │ │ │ │ ├── Disputes.js │ │ │ │ │ ├── Cardholders.js │ │ │ │ │ ├── Cards.js │ │ │ │ │ └── Authorizations.js │ │ │ │ ├── Refunds.js │ │ │ │ ├── SKUs.js │ │ │ │ ├── Products.js │ │ │ │ ├── FileLinks.js │ │ │ │ ├── UsageRecords.js │ │ │ │ ├── Reviews.js │ │ │ │ ├── UsageRecordSummaries.js │ │ │ │ ├── Topups.js │ │ │ │ ├── CreditNotes.js │ │ │ │ ├── Disputes.js │ │ │ │ ├── BitcoinReceivers.js │ │ │ │ ├── Subscriptions.js │ │ │ │ ├── EphemeralKeys.js │ │ │ │ ├── Orders.js │ │ │ │ ├── Balance.js │ │ │ │ ├── PaymentMethods.js │ │ │ │ ├── Sources.js │ │ │ │ ├── Payouts.js │ │ │ │ ├── TaxIds.js │ │ │ │ ├── CustomerCards.js │ │ │ │ ├── ChargeRefunds.js │ │ │ │ ├── Persons.js │ │ │ │ ├── RecipientCards.js │ │ │ │ ├── PaymentIntents.js │ │ │ │ ├── TransferReversals.js │ │ │ │ ├── ApplicationFeeRefunds.js │ │ │ │ ├── SubscriptionScheduleRevisions.js │ │ │ │ ├── CustomerSubscriptions.js │ │ │ │ ├── ApplicationFees.js │ │ │ │ ├── SubscriptionSchedules.js │ │ │ │ ├── Recipients.js │ │ │ │ └── OAuth.js │ │ │ └── ResourceNamespace.js │ │ └── LICENSE │ ├── express │ │ ├── node_modules │ │ │ ├── qs │ │ │ │ ├── .eslintignore │ │ │ │ ├── test │ │ │ │ │ ├── index.js │ │ │ │ │ └── .eslintrc │ │ │ │ ├── lib │ │ │ │ │ ├── index.js │ │ │ │ │ └── formats.js │ │ │ │ ├── .editorconfig │ │ │ │ └── .eslintrc │ │ │ ├── setprototypeof │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── README.md │ │ │ │ └── LICENSE │ │ │ ├── iconv-lite │ │ │ │ ├── .travis.yml │ │ │ │ ├── encodings │ │ │ │ │ ├── index.js │ │ │ │ │ └── tables │ │ │ │ │ │ └── gbk-added.json │ │ │ │ ├── lib │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── bom-handling.js │ │ │ │ └── LICENSE │ │ │ ├── statuses │ │ │ │ ├── HISTORY.md │ │ │ │ └── LICENSE │ │ │ ├── bytes │ │ │ │ └── LICENSE │ │ │ ├── http-errors │ │ │ │ └── LICENSE │ │ │ ├── body-parser │ │ │ │ └── LICENSE │ │ │ └── raw-body │ │ │ │ └── LICENSE │ │ ├── index.js │ │ ├── lib │ │ │ └── middleware │ │ │ │ ├── init.js │ │ │ │ └── query.js │ │ └── LICENSE │ ├── debug │ │ ├── node.js │ │ ├── .coveralls.yml │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── .eslintrc │ │ ├── src │ │ │ ├── index.js │ │ │ └── inspector-log.js │ │ ├── component.json │ │ ├── LICENSE │ │ └── Makefile │ ├── cookie-signature │ │ ├── .npmignore │ │ ├── History.md │ │ └── index.js │ ├── unpipe │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ └── index.js │ ├── setprototypeof │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── LICENSE │ │ ├── test │ │ │ └── index.js │ │ └── README.md │ ├── uuid │ │ ├── v3.js │ │ ├── v5.js │ │ ├── index.js │ │ ├── AUTHORS │ │ ├── lib │ │ │ ├── rng.js │ │ │ ├── md5.js │ │ │ ├── sha1.js │ │ │ ├── bytesToUuid.js │ │ │ └── rng-browser.js │ │ ├── v4.js │ │ └── LICENSE.md │ ├── send │ │ ├── node_modules │ │ │ ├── setprototypeof │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── README.md │ │ │ │ └── LICENSE │ │ │ ├── statuses │ │ │ │ ├── HISTORY.md │ │ │ │ └── LICENSE │ │ │ └── http-errors │ │ │ │ └── LICENSE │ │ └── LICENSE │ ├── utils-merge │ │ ├── .npmignore │ │ ├── index.js │ │ ├── LICENSE │ │ └── README.md │ ├── mime │ │ ├── cli.js │ │ ├── build │ │ │ └── build.js │ │ └── LICENSE │ ├── .bin │ │ ├── mime.cmd │ │ ├── uuid.cmd │ │ ├── mime │ │ └── uuid │ ├── mime-db │ │ ├── index.js │ │ └── LICENSE │ ├── inherits │ │ ├── inherits.js │ │ ├── inherits_browser.js │ │ └── LICENSE │ ├── encodeurl │ │ ├── HISTORY.md │ │ └── LICENSE │ ├── forwarded │ │ ├── HISTORY.md │ │ └── LICENSE │ ├── depd │ │ ├── lib │ │ │ └── compat │ │ │ │ └── event-listener-count.js │ │ └── LICENSE │ ├── merge-descriptors │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ ├── README.md │ │ └── index.js │ ├── content-type │ │ ├── HISTORY.md │ │ └── LICENSE │ ├── methods │ │ ├── HISTORY.md │ │ ├── LICENSE │ │ └── index.js │ ├── media-typer │ │ ├── HISTORY.md │ │ └── LICENSE │ ├── lodash.isplainobject │ │ └── README.md │ ├── toidentifier │ │ ├── index.js │ │ └── LICENSE │ ├── iconv-lite │ │ ├── encodings │ │ │ ├── index.js │ │ │ └── tables │ │ │ │ └── gbk-added.json │ │ ├── lib │ │ │ ├── index.d.ts │ │ │ └── bom-handling.js │ │ └── LICENSE │ ├── path-to-regexp │ │ ├── History.md │ │ ├── LICENSE │ │ └── Readme.md │ ├── escape-html │ │ ├── Readme.md │ │ └── LICENSE │ ├── vary │ │ ├── HISTORY.md │ │ └── LICENSE │ ├── range-parser │ │ ├── HISTORY.md │ │ └── LICENSE │ ├── content-disposition │ │ ├── HISTORY.md │ │ └── LICENSE │ ├── ms │ │ └── license.md │ ├── ipaddr.js │ │ └── LICENSE │ ├── safe-buffer │ │ └── LICENSE │ ├── cors │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ └── HISTORY.md │ ├── etag │ │ └── LICENSE │ ├── safer-buffer │ │ └── LICENSE │ ├── destroy │ │ ├── LICENSE │ │ └── index.js │ ├── ee-first │ │ └── LICENSE │ ├── proxy-addr │ │ └── LICENSE │ ├── array-flatten │ │ ├── LICENSE │ │ ├── README.md │ │ └── array-flatten.js │ ├── object-assign │ │ └── license │ ├── finalhandler │ │ ├── LICENSE │ │ └── node_modules │ │ │ └── statuses │ │ │ ├── HISTORY.md │ │ │ └── LICENSE │ ├── bytes │ │ └── LICENSE │ ├── accepts │ │ └── LICENSE │ ├── mime-types │ │ └── LICENSE │ ├── on-finished │ │ └── LICENSE │ ├── body-parser │ │ └── LICENSE │ ├── fresh │ │ └── LICENSE │ ├── http-errors │ │ └── LICENSE │ ├── statuses │ │ ├── LICENSE │ │ └── HISTORY.md │ ├── type-is │ │ └── LICENSE │ ├── cookie │ │ └── LICENSE │ ├── parseurl │ │ ├── LICENSE │ │ └── HISTORY.md │ ├── raw-body │ │ └── LICENSE │ ├── negotiator │ │ └── LICENSE │ └── serve-static │ │ └── LICENSE ├── routes │ ├── index.js │ └── payment.js ├── constants │ ├── server.js │ ├── stripe.js │ └── frontend.js ├── package.json ├── index.js └── server.js ├── public ├── favicon.ico └── manifest.json ├── screenshots ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png └── 7.png ├── src ├── images │ ├── logo.png │ ├── stamp.png │ ├── chicken.png │ ├── lock_bg.jpg │ ├── menu_bg.jpg │ ├── sides_bg.jpg │ ├── sign_bg.jpg │ ├── classic_bg.jpg │ ├── drinks_bg.jpg │ ├── feature_bg.jpg │ ├── footer_logo.png │ ├── header_bg.jpg │ ├── large_slider_img.jpg │ └── small_slider_bg.jpg ├── constants │ ├── stripe.js │ ├── server.js │ ├── ImagesLoaded.js │ ├── MenuTypes.js │ └── MenuDetails.js ├── Components │ └── Layouts │ │ ├── Tagline.js │ │ ├── BottomTabs.js │ │ ├── Splash.js │ │ └── Menu.js ├── index.css ├── App.test.js ├── index.js └── App.js ├── .gitignore ├── package.json └── README.md /backend/node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/VERSION: -------------------------------------------------------------------------------- 1 | 6.31.1 2 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /backend/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /backend/node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /backend/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /screenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/screenshots/1.png -------------------------------------------------------------------------------- /screenshots/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/screenshots/2.png -------------------------------------------------------------------------------- /screenshots/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/screenshots/3.png -------------------------------------------------------------------------------- /screenshots/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/screenshots/4.png -------------------------------------------------------------------------------- /screenshots/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/screenshots/5.png -------------------------------------------------------------------------------- /screenshots/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/screenshots/6.png -------------------------------------------------------------------------------- /screenshots/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/screenshots/7.png -------------------------------------------------------------------------------- /src/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/logo.png -------------------------------------------------------------------------------- /src/images/stamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/stamp.png -------------------------------------------------------------------------------- /backend/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /src/images/chicken.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/chicken.png -------------------------------------------------------------------------------- /src/images/lock_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/lock_bg.jpg -------------------------------------------------------------------------------- /src/images/menu_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/menu_bg.jpg -------------------------------------------------------------------------------- /src/images/sides_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/sides_bg.jpg -------------------------------------------------------------------------------- /src/images/sign_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/sign_bg.jpg -------------------------------------------------------------------------------- /src/images/classic_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/classic_bg.jpg -------------------------------------------------------------------------------- /src/images/drinks_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/drinks_bg.jpg -------------------------------------------------------------------------------- /src/images/feature_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/feature_bg.jpg -------------------------------------------------------------------------------- /src/images/footer_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/footer_logo.png -------------------------------------------------------------------------------- /src/images/header_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/header_bg.jpg -------------------------------------------------------------------------------- /src/images/large_slider_img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/large_slider_img.jpg -------------------------------------------------------------------------------- /src/images/small_slider_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Seunkola/burger-restaurant-app/HEAD/src/images/small_slider_bg.jpg -------------------------------------------------------------------------------- /backend/node_modules/qs/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('./parse'); 4 | 5 | require('./stringify'); 6 | 7 | require('./utils'); 8 | -------------------------------------------------------------------------------- /backend/node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/v3.js: -------------------------------------------------------------------------------- 1 | var v35 = require('./lib/v35.js'); 2 | var md5 = require('./lib/md5'); 3 | 4 | module.exports = v35('v3', 0x30, md5); -------------------------------------------------------------------------------- /backend/node_modules/uuid/v5.js: -------------------------------------------------------------------------------- 1 | var v35 = require('./lib/v35.js'); 2 | var sha1 = require('./lib/sha1'); 3 | module.exports = v35('v5', 0x50, sha1); 4 | -------------------------------------------------------------------------------- /backend/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | bower.json 10 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/qs/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('./parse'); 4 | 5 | require('./stringify'); 6 | 7 | require('./utils'); 8 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /backend/node_modules/send/node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /backend/node_modules/utils-merge/.npmignore: -------------------------------------------------------------------------------- 1 | CONTRIBUTING.md 2 | Makefile 3 | docs/ 4 | examples/ 5 | reports/ 6 | test/ 7 | 8 | .jshintrc 9 | .travis.yml 10 | -------------------------------------------------------------------------------- /backend/routes/index.js: -------------------------------------------------------------------------------- 1 | const paymentApi = require('./payment'); 2 | 3 | const configureRoutes = app => { 4 | paymentApi(app); 5 | } 6 | 7 | module.exports = configureRoutes; -------------------------------------------------------------------------------- /backend/node_modules/uuid/index.js: -------------------------------------------------------------------------------- 1 | var v1 = require('./v1'); 2 | var v4 = require('./v4'); 3 | 4 | var uuid = v4; 5 | uuid.v1 = v1; 6 | uuid.v4 = v4; 7 | 8 | module.exports = uuid; 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Tokens.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'tokens', 5 | includeBasic: ['create', 'retrieve'], 6 | }); 7 | -------------------------------------------------------------------------------- /src/constants/stripe.js: -------------------------------------------------------------------------------- 1 | const STRIPE_PUBLISHABLE = process.env.NODE_ENV === 'production' 2 | ? 'pk_live_MY_PUBLISHABLE_KEY' 3 | : 'pk_test_MY_PUBLISHABLE_KEY'; 4 | 5 | export default STRIPE_PUBLISHABLE; -------------------------------------------------------------------------------- /backend/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/AccountLinks.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'account_links', 5 | includeBasic: ['create'], 6 | }); 7 | 8 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Events.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'events', 5 | includeBasic: ['list', 'retrieve'], 6 | }); 7 | 8 | -------------------------------------------------------------------------------- /src/constants/server.js: -------------------------------------------------------------------------------- 1 | const PAYMENT_SERVER_URL = process.env.NODE_ENV === 'Production' 2 | ? 'http://myapidomain.com/' 3 | : 'http://localhost:8080/' ; 4 | 5 | export default PAYMENT_SERVER_URL; 6 | 7 | 8 | -------------------------------------------------------------------------------- /backend/node_modules/.bin/mime.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\mime\cli.js" %* 7 | ) -------------------------------------------------------------------------------- /backend/node_modules/uuid/AUTHORS: -------------------------------------------------------------------------------- 1 | Robert Kieffer 2 | Christoph Tavan 3 | AJ ONeal 4 | Vincent Voyer 5 | Roman Shtylman 6 | -------------------------------------------------------------------------------- /backend/node_modules/.bin/uuid.cmd: -------------------------------------------------------------------------------- 1 | @IF EXIST "%~dp0\node.exe" ( 2 | "%~dp0\node.exe" "%~dp0\..\uuid\bin\uuid" %* 3 | ) ELSE ( 4 | @SETLOCAL 5 | @SET PATHEXT=%PATHEXT:;.JS;=;% 6 | node "%~dp0\..\uuid\bin\uuid" %* 7 | ) -------------------------------------------------------------------------------- /backend/node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = require('./db.json') 12 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Plans.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'plans', 5 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del'], 6 | }); 7 | 8 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/TaxRates.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'tax_rates', 5 | includeBasic: ['create', 'list', 'update', 'retrieve'], 6 | }); 7 | 8 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/ApplePayDomains.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'apple_pay/domains', 5 | includeBasic: ['create', 'list', 'retrieve', 'del'], 6 | }); 7 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Coupons.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'coupons', 5 | includeBasic: ['create', 'list', 'update', 'retrieve', 'del'], 6 | }); 7 | 8 | -------------------------------------------------------------------------------- /backend/node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | 8 | install: 9 | - make node_modules 10 | 11 | script: 12 | - make lint 13 | - make test 14 | - make coveralls 15 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/WebhookEndpoints.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'webhook_endpoints', 5 | includeBasic: ['create', 'list', 'update', 'retrieve', 'del'], 6 | }); 7 | 8 | -------------------------------------------------------------------------------- /backend/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /backend/node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "no-empty": [1, { "allowEmptyCatch": true }] 9 | }, 10 | "extends": "eslint:recommended" 11 | } 12 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/LoginLinks.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'accounts/{accountId}/login_links', 7 | includeBasic: ['create'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Checkout/Sessions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'checkout/sessions', 7 | includeBasic: ['create', 'retrieve'], 8 | }) 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Terminal/ConnectionTokens.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'terminal/connection_tokens', 7 | includeBasic: ['create'], 8 | }) 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Reporting/ReportTypes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'reporting/report_types', 7 | includeBasic: ['list', 'retrieve'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/IssuerFraudRecords.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'issuer_fraud_records', 7 | 8 | includeBasic: ['list', 'retrieve'], 9 | }); 10 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Reporting/ReportRuns.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'reporting/report_runs', 7 | includeBasic: ['create', 'list', 'retrieve'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/constants/server.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | const SERVER_PORT = 8080; 4 | 5 | const SERVER_CONFIGS = { 6 | PRODUCTION: process.env.NODE_ENV === 'production', 7 | PORT: process.env.PORT || SERVER_PORT, 8 | }; 9 | 10 | module.exports = SERVER_CONFIGS 11 | -------------------------------------------------------------------------------- /backend/node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var stringify = require('./stringify'); 4 | var parse = require('./parse'); 5 | var formats = require('./formats'); 6 | 7 | module.exports = { 8 | formats: formats, 9 | parse: parse, 10 | stringify: stringify 11 | }; 12 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Radar/ValueListItems.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'radar/value_list_items', 7 | includeBasic: ['create', 'list', 'retrieve', 'del'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Radar/ValueLists.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'radar/value_lists', 7 | includeBasic: ['create', 'list', 'update', 'retrieve', 'del'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Terminal/Readers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'terminal/readers', 7 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del'], 8 | }) 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/CountrySpecs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: 'country_specs', 8 | 9 | includeBasic: [ 10 | 'list', 'retrieve', 11 | ], 12 | }); 13 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/ExchangeRates.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: 'exchange_rates', 8 | 9 | includeBasic: [ 10 | 'list', 'retrieve', 11 | ], 12 | }); 13 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/OrderReturns.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: 'order_returns', 8 | 9 | includeBasic: [ 10 | 'list', 'retrieve', 11 | ], 12 | }); 13 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Sigma/ScheduledQueryRuns.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'sigma/scheduled_query_runs', 7 | 8 | includeBasic: ['list', 'retrieve'], 9 | }); 10 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Terminal/Locations.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'terminal/locations', 7 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del'], 8 | }) 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/ThreeDSecure.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: '3d_secure', 8 | 9 | includeBasic: [ 10 | 'create', 11 | 'retrieve', 12 | ], 13 | }); 14 | -------------------------------------------------------------------------------- /backend/node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | module.exports = require('./lib/express'); 12 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/InvoiceItems.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = require('../StripeResource').extend({ 4 | path: 'invoiceitems', 5 | includeBasic: [ 6 | 'create', 'list', 'retrieve', 'update', 'del', 7 | 'setMetadata', 'getMetadata', 8 | ], 9 | }); 10 | 11 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/SubscriptionItems.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'subscription_items', 7 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del',], 8 | }); 9 | 10 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/lib/rng.js: -------------------------------------------------------------------------------- 1 | // Unique ID creation requires a high quality random # generator. In node.js 2 | // this is pretty straight-forward - we use the crypto API. 3 | 4 | var crypto = require('crypto'); 5 | 6 | module.exports = function nodeRNG() { 7 | return crypto.randomBytes(16); 8 | }; 9 | -------------------------------------------------------------------------------- /backend/constants/stripe.js: -------------------------------------------------------------------------------- 1 | const configureStripe = require('stripe'); 2 | 3 | const STRIPE_SECRET_KEY = process.env.NODE_ENV === 'production' 4 | ? 'sk_live_MY_SECRET_KEY' 5 | : 'sk_test_MY_SECRET_KEY'; 6 | 7 | const stripe = configureStripe(STRIPE_SECRET_KEY); 8 | 9 | module.exports = stripe; 10 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Issuing/Transactions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'issuing/transactions', 7 | includeBasic: ['list', 'retrieve', 'update', 'setMetadata', 'getMetadata'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Refunds.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: 'refunds', 8 | 9 | includeBasic: [ 10 | 'create', 'list', 'retrieve', 'update', 11 | ], 12 | }); 13 | 14 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/SKUs.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: 'skus', 8 | 9 | includeBasic: [ 10 | 'create', 'list', 'retrieve', 'update', 'del', 11 | ], 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var stringify = require('./stringify'); 4 | var parse = require('./parse'); 5 | var formats = require('./formats'); 6 | 7 | module.exports = { 8 | formats: formats, 9 | parse: parse, 10 | stringify: stringify 11 | }; 12 | -------------------------------------------------------------------------------- /backend/node_modules/mime/build/build.js: -------------------------------------------------------------------------------- 1 | var db = require('mime-db'); 2 | 3 | var mapByType = {}; 4 | Object.keys(db).forEach(function(key) { 5 | var extensions = db[key].extensions; 6 | if (extensions) { 7 | mapByType[key] = extensions; 8 | } 9 | }); 10 | 11 | console.log(JSON.stringify(mapByType)); 12 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Issuing/Disputes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'issuing/disputes', 7 | includeBasic: ['create', 'list', 'retrieve', 'update', 'setMetadata', 'getMetadata'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Products.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: 'products', 8 | 9 | includeBasic: [ 10 | 'create', 'list', 'retrieve', 'update', 'del', 11 | ], 12 | 13 | }); 14 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Issuing/Cardholders.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | path: 'issuing/cardholders', 7 | includeBasic: ['create', 'list', 'retrieve', 'update', 'setMetadata', 'getMetadata'], 8 | }); 9 | -------------------------------------------------------------------------------- /backend/constants/frontend.js: -------------------------------------------------------------------------------- 1 | const FRONTEND_DEV_URLS = [ 'http://localhost:3000' ]; 2 | 3 | const FRONTEND_PROD_URLS = [ 4 | 'https://www.yourdomain.com', 5 | 'https://yourdomain.com' 6 | ]; 7 | 8 | module.exports = process.env.NODE_ENV === 'production' 9 | ? FRONTEND_PROD_URLS 10 | : FRONTEND_DEV_URLS; 11 | 12 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/FileLinks.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | module.exports = StripeResource.extend({ 6 | 7 | path: 'file_links', 8 | includeBasic: [ 9 | 'create', 'list', 'retrieve', 'update', 'setMetadata', 'getMetadata', 10 | ], 11 | }); 12 | -------------------------------------------------------------------------------- /backend/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process !== 'undefined' && process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /backend/node_modules/encodeurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2018-01-21 2 | ================== 3 | 4 | * Fix encoding `%` as last character 5 | 6 | 1.0.1 / 2016-06-09 7 | ================== 8 | 9 | * Fix encoding unpaired surrogates at start/end of string 10 | 11 | 1.0.0 / 2016-06-08 12 | ================== 13 | 14 | * Initial release 15 | -------------------------------------------------------------------------------- /src/Components/Layouts/Tagline.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Tagline = () => { 4 | return( 5 |
6 |

SERVING MORE THAN JUST BURGERS SINCE 1998

7 |

Check out our opening hours and location address below.

8 |
9 | ); 10 | }; 11 | 12 | export {Tagline}; -------------------------------------------------------------------------------- /src/constants/ImagesLoaded.js: -------------------------------------------------------------------------------- 1 | 2 | const imagesLoaded = parentNode => { 3 | const imgElements = [...parentNode.querySelectorAll("img")]; 4 | for (let i=0; i { 7 | it('renders without crashing', () => { 8 | const div = document.createElement('div'); 9 | ReactDOM.render( 10 | 11 | 12 | , div); 13 | ReactDOM.unmountComponentAtNode(div); 14 | }); 15 | }); 16 | 17 | 18 | -------------------------------------------------------------------------------- /backend/index.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | 3 | const SERVER_CONFIGS = require('./constants/server'); 4 | 5 | const configureServer = require('./server'); 6 | const configureRoutes = require('./routes'); 7 | 8 | const app = express(); 9 | 10 | configureServer(app); 11 | configureRoutes(app); 12 | 13 | app.listen(SERVER_CONFIGS.PORT, error => { 14 | if(error) throw error; 15 | console.log('Server running on port: ' + SERVER_CONFIGS.PORT); 16 | }); 17 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/UsageRecordSummaries.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | path: 'subscription_items', 8 | 9 | list: stripeMethod({ 10 | method: 'GET', 11 | path: '{subscriptionItem}/usage_record_summaries', 12 | urlParams: ['subscriptionItem'], 13 | methodType: 'list', 14 | }), 15 | }); 16 | -------------------------------------------------------------------------------- /backend/node_modules/debug/src/inspector-log.js: -------------------------------------------------------------------------------- 1 | module.exports = inspectorLog; 2 | 3 | // black hole 4 | const nullStream = new (require('stream').Writable)(); 5 | nullStream._write = () => {}; 6 | 7 | /** 8 | * Outputs a `console.log()` to the Node.js Inspector console *only*. 9 | */ 10 | function inspectorLog() { 11 | const stdout = console._stdout; 12 | console._stdout = nullStream; 13 | console.log.apply(console, arguments); 14 | console._stdout = stdout; 15 | } 16 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Topups.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | path: 'topups', 8 | includeBasic: ['create', 'list', 'retrieve', 'update', 'setMetadata', 'getMetadata'], 9 | 10 | cancel: stripeMethod({ 11 | method: 'POST', 12 | path: '{topupId}/cancel', 13 | urlParams: ['topupId'], 14 | }), 15 | }); 16 | -------------------------------------------------------------------------------- /src/constants/MenuTypes.js: -------------------------------------------------------------------------------- 1 | const MenuTypes = [ 2 | { 3 | className: 'menu', 4 | imageClass: 'flaticon flaticon-burger', 5 | title: 'menu', 6 | }, 7 | { 8 | className: 'drinks', 9 | imageClass: 'flaticon flaticon-drink', 10 | title: 'drink', 11 | }, 12 | { 13 | className: 'sides', 14 | imageClass: 'flaticon flaticon-food', 15 | title: 'sides', 16 | }, 17 | ]; 18 | 19 | export {MenuTypes}; -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/CreditNotes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'credit_notes', 9 | includeBasic: ['create', 'list', 'retrieve', 'update'], 10 | 11 | voidCreditNote: stripeMethod({ 12 | method: 'POST', 13 | path: '{creditNoteId}/void', 14 | urlParams: ['creditNoteId'], 15 | }), 16 | }); 17 | -------------------------------------------------------------------------------- /backend/node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount (emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /backend/node_modules/merge-descriptors/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.0 / 2015-03-01 7 | ================== 8 | 9 | * Add option to only add new descriptors 10 | * Add simple argument validation 11 | * Add jsdoc to source file 12 | 13 | 0.0.2 / 2013-12-14 14 | ================== 15 | 16 | * Move repository to `component` organization 17 | 18 | 0.0.1 / 2013-10-29 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /backend/node_modules/qs/lib/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var replace = String.prototype.replace; 4 | var percentTwenties = /%20/g; 5 | 6 | module.exports = { 7 | 'default': 'RFC3986', 8 | formatters: { 9 | RFC1738: function (value) { 10 | return replace.call(value, percentTwenties, '+'); 11 | }, 12 | RFC3986: function (value) { 13 | return value; 14 | } 15 | }, 16 | RFC1738: 'RFC1738', 17 | RFC3986: 'RFC3986' 18 | }; 19 | -------------------------------------------------------------------------------- /backend/node_modules/setprototypeof/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint no-proto: 0 */ 3 | module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties) 4 | 5 | function setProtoOf (obj, proto) { 6 | obj.__proto__ = proto 7 | return obj 8 | } 9 | 10 | function mixinProperties (obj, proto) { 11 | for (var prop in proto) { 12 | if (!obj.hasOwnProperty(prop)) { 13 | obj[prop] = proto[prop] 14 | } 15 | } 16 | return obj 17 | } 18 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Disputes.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'disputes', 9 | 10 | includeBasic: [ 11 | 'list', 'retrieve', 'update', 'setMetadata', 'getMetadata', 12 | ], 13 | 14 | close: stripeMethod({ 15 | method: 'POST', 16 | path: '/{id}/close', 17 | urlParams: ['id'], 18 | }), 19 | 20 | }); 21 | 22 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Issuing/Cards.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | path: 'issuing/cards', 8 | 9 | includeBasic: ['create', 'list', 'retrieve', 'update', 'setMetadata', 'getMetadata'], 10 | 11 | retrieveDetails: stripeMethod({ 12 | method: 'GET', 13 | path: '/{id}/details', 14 | urlParams: ['id'], 15 | }), 16 | }); 17 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/qs/lib/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var replace = String.prototype.replace; 4 | var percentTwenties = /%20/g; 5 | 6 | module.exports = { 7 | 'default': 'RFC3986', 8 | formatters: { 9 | RFC1738: function (value) { 10 | return replace.call(value, percentTwenties, '+'); 11 | }, 12 | RFC3986: function (value) { 13 | return value; 14 | } 15 | }, 16 | RFC1738: 'RFC1738', 17 | RFC3986: 'RFC3986' 18 | }; 19 | -------------------------------------------------------------------------------- /backend/node_modules/utils-merge/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge object b with object a. 3 | * 4 | * var a = { foo: 'bar' } 5 | * , b = { bar: 'baz' }; 6 | * 7 | * merge(a, b); 8 | * // => { foo: 'bar', bar: 'baz' } 9 | * 10 | * @param {Object} a 11 | * @param {Object} b 12 | * @return {Object} 13 | * @api public 14 | */ 15 | 16 | exports = module.exports = function(a, b){ 17 | if (a && b) { 18 | for (var key in b) { 19 | a[key] = b[key]; 20 | } 21 | } 22 | return a; 23 | }; 24 | -------------------------------------------------------------------------------- /backend/node_modules/qs/test/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "array-bracket-newline": 0, 4 | "array-element-newline": 0, 5 | "consistent-return": 2, 6 | "function-paren-newline": 0, 7 | "max-lines": 0, 8 | "max-lines-per-function": 0, 9 | "max-nested-callbacks": [2, 3], 10 | "max-statements": 0, 11 | "no-buffer-constructor": 0, 12 | "no-extend-native": 0, 13 | "no-magic-numbers": 0, 14 | "object-curly-newline": 0, 15 | "sort-keys": 0 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/BitcoinReceivers.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'bitcoin/receivers', 9 | 10 | includeBasic: [ 11 | 'list', 'retrieve', 'getMetadata', 12 | ], 13 | 14 | listTransactions: stripeMethod({ 15 | method: 'GET', 16 | path: '/{receiverId}/transactions', 17 | urlParams: ['receiverId'], 18 | methodType: 'list', 19 | }), 20 | }); 21 | -------------------------------------------------------------------------------- /backend/server.js: -------------------------------------------------------------------------------- 1 | const cors = require('cors'); 2 | const bodyParser = require('body-parser'); 3 | 4 | const CORS_WHITELIST = require('./constants/frontend'); 5 | 6 | const corsOption = { 7 | origin: (origin, callback) => 8 | (CORS_WHITELIST.indexOf(origin) !== -1) 9 | ? callback(null, true) 10 | : callback(new Error('Not allowed by CORS')) 11 | }; 12 | 13 | const configureServer = app => { 14 | app.use(cors(corsOption)); 15 | app.use(bodyParser.json()); 16 | }; 17 | 18 | module.exports = configureServer; 19 | -------------------------------------------------------------------------------- /backend/node_modules/qs/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 160 11 | 12 | [test/*] 13 | max_line_length = off 14 | 15 | [*.md] 16 | max_line_length = off 17 | 18 | [*.json] 19 | max_line_length = off 20 | 21 | [Makefile] 22 | max_line_length = off 23 | 24 | [CHANGELOG.md] 25 | indent_style = space 26 | indent_size = 2 27 | 28 | [LICENSE] 29 | indent_size = 2 30 | max_line_length = off 31 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Subscriptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'subscriptions', 9 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del',], 10 | 11 | /** 12 | * Subscription: Discount methods 13 | */ 14 | deleteDiscount: stripeMethod({ 15 | method: 'DELETE', 16 | path: '/{subscriptionId}/discount', 17 | urlParams: ['subscriptionId'], 18 | }), 19 | }); 20 | -------------------------------------------------------------------------------- /backend/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2017-09-11 2 | ================== 3 | 4 | * perf: skip parameter parsing when no parameters 5 | 6 | 1.0.3 / 2017-09-10 7 | ================== 8 | 9 | * perf: remove argument reassignment 10 | 11 | 1.0.2 / 2016-05-09 12 | ================== 13 | 14 | * perf: enable strict mode 15 | 16 | 1.0.1 / 2015-02-13 17 | ================== 18 | 19 | * Improve missing `Content-Type` header error message 20 | 21 | 1.0.0 / 2015-02-01 22 | ================== 23 | 24 | * Initial implementation, derived from `media-typer@0.3.0` 25 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/qs/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 140 11 | 12 | [test/*] 13 | max_line_length = off 14 | 15 | [*.md] 16 | max_line_length = off 17 | 18 | [*.json] 19 | max_line_length = off 20 | 21 | [Makefile] 22 | max_line_length = off 23 | 24 | [CHANGELOG.md] 25 | indent_style = space 26 | indent_size = 2 27 | 28 | [LICENSE] 29 | indent_size = 2 30 | max_line_length = off 31 | -------------------------------------------------------------------------------- /backend/node_modules/methods/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.1.1 / 2014-12-30 7 | ================== 8 | 9 | * Improve `browserify` support 10 | 11 | 1.1.0 / 2014-07-05 12 | ================== 13 | 14 | * Add `CONNECT` method 15 | 16 | 1.0.1 / 2014-06-02 17 | ================== 18 | 19 | * Fix module to work with harmony transform 20 | 21 | 1.0.0 / 2014-05-08 22 | ================== 23 | 24 | * Add `PURGE` method 25 | 26 | 0.1.0 / 2013-10-28 27 | ================== 28 | 29 | * Add `http.METHODS` support 30 | -------------------------------------------------------------------------------- /backend/node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | * Throw error when parameter format invalid on parse 6 | 7 | 0.2.0 / 2014-06-18 8 | ================== 9 | 10 | * Add `typer.format()` to format media types 11 | 12 | 0.1.0 / 2014-06-17 13 | ================== 14 | 15 | * Accept `req` as argument to `parse` 16 | * Accept `res` as argument to `parse` 17 | * Parse media type with extra LWS between type and first parameter 18 | 19 | 0.0.0 / 2014-06-13 20 | ================== 21 | 22 | * Initial implementation 23 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/EphemeralKeys.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | create: stripeMethod({ 8 | method: 'POST', 9 | validator: function(data, options) { 10 | if (!options.headers || !options.headers['Stripe-Version']) { 11 | throw new Error('stripe_version must be specified to create an ephemeral key'); 12 | } 13 | }, 14 | }), 15 | 16 | path: 'ephemeral_keys', 17 | 18 | includeBasic: ['del'], 19 | }); 20 | -------------------------------------------------------------------------------- /backend/node_modules/lodash.isplainobject/README.md: -------------------------------------------------------------------------------- 1 | # lodash.isplainobject v4.0.6 2 | 3 | The [lodash](https://lodash.com/) method `_.isPlainObject` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.isplainobject 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var isPlainObject = require('lodash.isplainobject'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#isPlainObject) or [package source](https://github.com/lodash/lodash/blob/4.0.6-npm-packages/lodash.isplainobject) for more details. 19 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Orders.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'orders', 9 | 10 | includeBasic: [ 11 | 'create', 'list', 'retrieve', 'update', 12 | ], 13 | 14 | pay: stripeMethod({ 15 | method: 'POST', 16 | path: '/{orderId}/pay', 17 | urlParams: ['orderId'], 18 | }), 19 | 20 | returnOrder: stripeMethod({ 21 | method: 'POST', 22 | path: '/{orderId}/returns', 23 | urlParams: ['orderId'], 24 | }), 25 | 26 | }); 27 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Balance.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'balance', 9 | 10 | retrieve: stripeMethod({ 11 | method: 'GET', 12 | }), 13 | 14 | listTransactions: stripeMethod({ 15 | method: 'GET', 16 | path: 'history', 17 | methodType: 'list', 18 | }), 19 | 20 | retrieveTransaction: stripeMethod({ 21 | method: 'GET', 22 | path: 'history/{transactionId}', 23 | urlParams: ['transactionId'], 24 | }), 25 | 26 | }); 27 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Issuing/Authorizations.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | path: 'issuing/authorizations', 8 | 9 | includeBasic: ['list', 'retrieve', 'update', 'setMetadata', 'getMetadata'], 10 | 11 | approve: stripeMethod({ 12 | method: 'POST', 13 | path: '/{id}/approve', 14 | urlParams: ['id'], 15 | }), 16 | 17 | decline: stripeMethod({ 18 | method: 'POST', 19 | path: '/{id}/decline', 20 | urlParams: ['id'], 21 | }), 22 | }); 23 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/PaymentMethods.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'payment_methods', 9 | includeBasic: ['create', 'list', 'retrieve', 'update'], 10 | 11 | attach: stripeMethod({ 12 | method: 'POST', 13 | path: '{paymentMethodId}/attach', 14 | urlParams: ['paymentMethodId'], 15 | }), 16 | 17 | detach: stripeMethod({ 18 | method: 'POST', 19 | path: '{paymentMethodId}/detach', 20 | urlParams: ['paymentMethodId'], 21 | }), 22 | }); 23 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | import * as serviceWorker from './serviceWorker'; 6 | import { BrowserRouter } from 'react-router-dom'; 7 | 8 | ReactDOM.render( 9 | 10 | 11 | , 12 | document.getElementById('root') 13 | ); 14 | 15 | // If you want your app to work offline and load faster, you can change 16 | // unregister() to register() below. Note this comes with some pitfalls. 17 | // Learn more about service workers: https://bit.ly/CRA-PWA 18 | serviceWorker.unregister(); 19 | -------------------------------------------------------------------------------- /backend/node_modules/toidentifier/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * toidentifier 3 | * Copyright(c) 2016 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | * @public 10 | */ 11 | 12 | module.exports = toIdentifier 13 | 14 | /** 15 | * Trasform the given string into a JavaScript identifier 16 | * 17 | * @param {string} str 18 | * @returns {string} 19 | * @public 20 | */ 21 | 22 | function toIdentifier (str) { 23 | return str 24 | .split(' ') 25 | .map(function (token) { 26 | return token.slice(0, 1).toUpperCase() + token.slice(1) 27 | }) 28 | .join('') 29 | .replace(/[^ _0-9a-z]/gi, '') 30 | } 31 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/setprototypeof/README.md: -------------------------------------------------------------------------------- 1 | # Polyfill for `Object.setPrototypeOf` 2 | 3 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 4 | 5 | ## Usage: 6 | 7 | ``` 8 | $ npm install --save setprototypeof 9 | ``` 10 | 11 | ```javascript 12 | var setPrototypeOf = require('setprototypeof'); 13 | 14 | var obj = {}; 15 | setPrototypeOf(obj, { 16 | foo: function() { 17 | return 'bar'; 18 | } 19 | }); 20 | obj.foo(); // bar 21 | ``` 22 | 23 | TypeScript is also supported: 24 | ```typescript 25 | import setPrototypeOf = require('setprototypeof'); 26 | ``` -------------------------------------------------------------------------------- /backend/node_modules/send/node_modules/setprototypeof/README.md: -------------------------------------------------------------------------------- 1 | # Polyfill for `Object.setPrototypeOf` 2 | 3 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 4 | 5 | ## Usage: 6 | 7 | ``` 8 | $ npm install --save setprototypeof 9 | ``` 10 | 11 | ```javascript 12 | var setPrototypeOf = require('setprototypeof'); 13 | 14 | var obj = {}; 15 | setPrototypeOf(obj, { 16 | foo: function() { 17 | return 'bar'; 18 | } 19 | }); 20 | obj.foo(); // bar 21 | ``` 22 | 23 | TypeScript is also supported: 24 | ```typescript 25 | import setPrototypeOf = require('setprototypeof'); 26 | ``` -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/qs/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": 0, 8 | "consistent-return": 1, 9 | "func-name-matching": 0, 10 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], 11 | "indent": [2, 4], 12 | "max-params": [2, 12], 13 | "max-statements": [2, 45], 14 | "no-continue": 1, 15 | "no-magic-numbers": 0, 16 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 17 | "operator-linebreak": [2, "before"], 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Sources.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'sources', 9 | 10 | includeBasic: [ 11 | 'create', 'retrieve', 'update', 'setMetadata', 'getMetadata', 12 | ], 13 | 14 | listSourceTransactions: stripeMethod({ 15 | method: 'GET', 16 | path: '/{id}/source_transactions', 17 | urlParams: ['id'], 18 | methodType: 'list', 19 | }), 20 | 21 | verify: stripeMethod({ 22 | method: 'POST', 23 | path: '/{id}/verify', 24 | urlParams: ['id'], 25 | }), 26 | 27 | }); 28 | -------------------------------------------------------------------------------- /backend/routes/payment.js: -------------------------------------------------------------------------------- 1 | const stripe = require('../constants/stripe'); 2 | 3 | const postStripeCharge = res => (stripeErr,stripeRes) => { 4 | if(stripeErr) { 5 | res.status(500).send({ error: stripeErr }); 6 | } 7 | else { 8 | res.status(200).send({ success: stripeRes }); 9 | } 10 | } 11 | 12 | const paymentApi = app => { 13 | app.get('/', (req,res) => { 14 | res.send({ message: 'Hello Stripe Checkout serveer!', timestamp: new Date().toISOString() }) 15 | }); 16 | 17 | app.post('/', (req,res) => { 18 | stripe.charges.create(req.body, postStripeCharge(res)); 19 | }) 20 | 21 | return app; 22 | }; 23 | 24 | module.exports = paymentApi; -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Payouts.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'payouts', 9 | 10 | includeBasic: [ 11 | 'create', 'list', 'retrieve', 'update', 12 | 'setMetadata', 'getMetadata', 13 | ], 14 | 15 | cancel: stripeMethod({ 16 | method: 'POST', 17 | path: '{payoutId}/cancel', 18 | urlParams: ['payoutId'], 19 | }), 20 | 21 | listTransactions: stripeMethod({ 22 | method: 'GET', 23 | path: '{payoutId}/transactions', 24 | urlParams: ['payoutId'], 25 | methodType: 'list', 26 | }), 27 | }); 28 | 29 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/lib/md5.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var crypto = require('crypto'); 4 | 5 | function md5(bytes) { 6 | if (typeof Buffer.from === 'function') { 7 | // Modern Buffer API 8 | if (Array.isArray(bytes)) { 9 | bytes = Buffer.from(bytes); 10 | } else if (typeof bytes === 'string') { 11 | bytes = Buffer.from(bytes, 'utf8'); 12 | } 13 | } else { 14 | // Pre-v4 Buffer API 15 | if (Array.isArray(bytes)) { 16 | bytes = new Buffer(bytes); 17 | } else if (typeof bytes === 'string') { 18 | bytes = new Buffer(bytes, 'utf8'); 19 | } 20 | } 21 | 22 | return crypto.createHash('md5').update(bytes).digest(); 23 | } 24 | 25 | module.exports = md5; 26 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/lib/sha1.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var crypto = require('crypto'); 4 | 5 | function sha1(bytes) { 6 | if (typeof Buffer.from === 'function') { 7 | // Modern Buffer API 8 | if (Array.isArray(bytes)) { 9 | bytes = Buffer.from(bytes); 10 | } else if (typeof bytes === 'string') { 11 | bytes = Buffer.from(bytes, 'utf8'); 12 | } 13 | } else { 14 | // Pre-v4 Buffer API 15 | if (Array.isArray(bytes)) { 16 | bytes = new Buffer(bytes); 17 | } else if (typeof bytes === 'string') { 18 | bytes = new Buffer(bytes, 'utf8'); 19 | } 20 | } 21 | 22 | return crypto.createHash('sha1').update(bytes).digest(); 23 | } 24 | 25 | module.exports = sha1; 26 | -------------------------------------------------------------------------------- /src/Components/Layouts/BottomTabs.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {MenuTypes} from '../../constants/MenuTypes'; 3 | 4 | const BottomTabs = () => { 5 | return ( 6 |
7 | {MenuTypes.map(item => 8 |
9 |
10 |
11 | 12 |

{item.title}

13 |
14 |
15 |
16 | )} 17 |
18 | ); 19 | } 20 | 21 | export {BottomTabs}; -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/TaxIds.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * TaxIds is a unique resource in that, upon instantiation, 7 | * requires a customerId, and therefore each of its methods only 8 | * require the taxId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing a tax id 11 | * on a returned customer object. 12 | * 13 | * E.g. customerObject.tax_ids.retrieve(taxIdId) 14 | * (As opposed to the also-supported stripe.customers.retrieveTaxId(customerId, taxIdId)) 15 | */ 16 | module.exports = StripeResource.extend({ 17 | path: 'customers/{customerId}/tax_ids', 18 | includeBasic: ['create', 'del', 'list', 'retrieve'], 19 | }); 20 | -------------------------------------------------------------------------------- /backend/node_modules/qs/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": 0, 8 | "consistent-return": 1, 9 | "func-name-matching": 0, 10 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], 11 | "indent": [2, 4], 12 | "max-lines-per-function": [2, { "max": 150 }], 13 | "max-params": [2, 14], 14 | "max-statements": [2, 52], 15 | "multiline-comment-style": 0, 16 | "no-continue": 1, 17 | "no-magic-numbers": 0, 18 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 19 | "operator-linebreak": [2, "before"], 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/ResourceNamespace.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // ResourceNamespace allows you to create nested resources, i.e. `stripe.issuing.cards`. 4 | // It also works recursively, so you could do i.e. `stripe.billing.invoicing.pay`. 5 | 6 | function ResourceNamespace(stripe, resources) { 7 | for (var name in resources) { 8 | var camelCaseName = name[0].toLowerCase() + name.substring(1); 9 | 10 | var resource = new resources[name](stripe); 11 | 12 | this[camelCaseName] = resource; 13 | } 14 | } 15 | 16 | module.exports = function(namespace, resources) { 17 | return function (stripe) { 18 | return new ResourceNamespace(stripe, resources); 19 | }; 20 | }; 21 | 22 | module.exports.ResourceNamespace = ResourceNamespace; 23 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/CustomerCards.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * CustomerCard is a unique resource in that, upon instantiation, 7 | * requires a customerId, and therefore each of its methods only 8 | * require the cardId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing cards 11 | * on a returned customer object. 12 | * 13 | * E.g. customerObject.cards.retrieve(cardId) 14 | * (As opposed to the also-supported stripe.customers.retrieveCard(custId, cardId)) 15 | */ 16 | module.exports = StripeResource.extend({ 17 | path: 'customers/{customerId}/cards', 18 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del'], 19 | }); 20 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/ChargeRefunds.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * ChargeRefunds is a unique resource in that, upon instantiation, 7 | * requires a chargeId, and therefore each of its methods only 8 | * require the refundId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing refunds 11 | * on a returned charge object. 12 | * 13 | * E.g. chargeObject.refunds.retrieve(refundId) 14 | * (As opposed to the also-supported stripe.charges.retrieveRefund(chargeId, 15 | * refundId)) 16 | */ 17 | module.exports = StripeResource.extend({ 18 | path: 'charges/{chargeId}/refunds', 19 | includeBasic: ['create', 'list', 'retrieve', 'update'], 20 | }); 21 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Persons.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * Persons is a unique resource in that, upon instantiation, 7 | * requires an accountId, and therefore each of its methods only 8 | * require the personId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing person 11 | * on a returned transfer object. 12 | * 13 | * E.g. accountObject.person.retrieve(personId) 14 | * (As opposed to the also-supported stripe.accounts.retrievePerson(accountId, 15 | * personId)) 16 | */ 17 | module.exports = StripeResource.extend({ 18 | path: 'accounts/{accountId}/persons', 19 | includeBasic: ['create', 'del', 'list', 'retrieve', 'update'], 20 | }); 21 | 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "frontend", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "axios": "^0.18.0", 7 | "prop-types": "^15.7.2", 8 | "react": "^16.8.6", 9 | "react-dom": "^16.8.6", 10 | "react-router": "^5.0.0", 11 | "react-router-dom": "^5.0.0", 12 | "react-scripts": "2.1.8", 13 | "react-stripe-checkout": "^2.6.3" 14 | }, 15 | "scripts": { 16 | "start": "react-scripts start", 17 | "build": "react-scripts build", 18 | "test": "react-scripts test", 19 | "eject": "react-scripts eject" 20 | }, 21 | "eslintConfig": { 22 | "extends": "react-app" 23 | }, 24 | "browserslist": [ 25 | ">0.2%", 26 | "not dead", 27 | "not ie <= 11", 28 | "not op_mini all" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/RecipientCards.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * RecipientCard is similar to CustomerCard in that, upon instantiation, it 7 | * requires a recipientId, and therefore each of its methods only 8 | * require the cardId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing cards 11 | * on a returned recipient object. 12 | * 13 | * E.g. recipientObject.cards.retrieve(cardId) 14 | * (As opposed to the also-supported stripe.recipients.retrieveCard(recipientId, cardId)) 15 | */ 16 | module.exports = StripeResource.extend({ 17 | path: 'recipients/{recipientId}/cards', 18 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del'], 19 | }); 20 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/PaymentIntents.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | path: 'payment_intents', 8 | includeBasic: ['create', 'list', 'retrieve', 'update'], 9 | 10 | cancel: stripeMethod({ 11 | method: 'POST', 12 | path: '{paymentIntentId}/cancel', 13 | urlParams: ['paymentIntentId'], 14 | }), 15 | 16 | capture: stripeMethod({ 17 | method: 'POST', 18 | path: '{paymentIntentId}/capture', 19 | urlParams: ['paymentIntentId'], 20 | }), 21 | 22 | confirm: stripeMethod({ 23 | method: 'POST', 24 | path: '{paymentIntentId}/confirm', 25 | urlParams: ['paymentIntentId'], 26 | }), 27 | }); 28 | 29 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/TransferReversals.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * TransferReversals is a unique resource in that, upon instantiation, 7 | * requires a transferId, and therefore each of its methods only 8 | * require the reversalId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing reversals 11 | * on a returned transfer object. 12 | * 13 | * E.g. transferObject.reversals.retrieve(reversalId) 14 | * (As opposed to the also-supported stripe.transfers.retrieveReversal(transferId, 15 | * reversalId)) 16 | */ 17 | module.exports = StripeResource.extend({ 18 | path: 'transfers/{transferId}/reversals', 19 | includeBasic: ['create', 'list', 'retrieve', 'update'], 20 | }); 21 | 22 | -------------------------------------------------------------------------------- /backend/node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | ctor.super_ = superCtor 5 | ctor.prototype = Object.create(superCtor.prototype, { 6 | constructor: { 7 | value: ctor, 8 | enumerable: false, 9 | writable: true, 10 | configurable: true 11 | } 12 | }); 13 | }; 14 | } else { 15 | // old school shim for old browsers 16 | module.exports = function inherits(ctor, superCtor) { 17 | ctor.super_ = superCtor 18 | var TempCtor = function () {} 19 | TempCtor.prototype = superCtor.prototype 20 | ctor.prototype = new TempCtor() 21 | ctor.prototype.constructor = ctor 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /backend/node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/ApplicationFeeRefunds.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * ApplicationFeeRefunds is a unique resource in that, upon instantiation, 7 | * requires an application fee id , and therefore each of its methods only 8 | * require the refundId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing refunds 11 | * on a returned application fee object. 12 | * 13 | * E.g. applicationFeeObject.refunds.retrieve(refundId) 14 | * (As opposed to the also-supported stripe.applicationFees.retrieveRefund(chargeId, 15 | * refundId)) 16 | */ 17 | module.exports = StripeResource.extend({ 18 | path: 'application_fees/{feeId}/refunds', 19 | includeBasic: ['create', 'list', 'retrieve', 'update'], 20 | }); 21 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /backend/node_modules/send/node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/v4.js: -------------------------------------------------------------------------------- 1 | var rng = require('./lib/rng'); 2 | var bytesToUuid = require('./lib/bytesToUuid'); 3 | 4 | function v4(options, buf, offset) { 5 | var i = buf && offset || 0; 6 | 7 | if (typeof(options) == 'string') { 8 | buf = options === 'binary' ? new Array(16) : null; 9 | options = null; 10 | } 11 | options = options || {}; 12 | 13 | var rnds = options.random || (options.rng || rng)(); 14 | 15 | // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 16 | rnds[6] = (rnds[6] & 0x0f) | 0x40; 17 | rnds[8] = (rnds[8] & 0x3f) | 0x80; 18 | 19 | // Copy bytes to buffer, if provided 20 | if (buf) { 21 | for (var ii = 0; ii < 16; ++ii) { 22 | buf[i + ii] = rnds[ii]; 23 | } 24 | } 25 | 26 | return buf || bytesToUuid(rnds); 27 | } 28 | 29 | module.exports = v4; 30 | -------------------------------------------------------------------------------- /backend/node_modules/setprototypeof/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint-env mocha */ 3 | /* eslint no-proto: 0 */ 4 | var assert = require('assert') 5 | var setPrototypeOf = require('..') 6 | 7 | describe('setProtoOf(obj, proto)', function () { 8 | it('should merge objects', function () { 9 | var obj = { a: 1, b: 2 } 10 | var proto = { b: 3, c: 4 } 11 | var mergeObj = setPrototypeOf(obj, proto) 12 | 13 | if (Object.getPrototypeOf) { 14 | assert.strictEqual(Object.getPrototypeOf(obj), proto) 15 | } else if ({ __proto__: [] } instanceof Array) { 16 | assert.strictEqual(obj.__proto__, proto) 17 | } else { 18 | assert.strictEqual(obj.a, 1) 19 | assert.strictEqual(obj.b, 2) 20 | assert.strictEqual(obj.c, 4) 21 | } 22 | assert.strictEqual(mergeObj, obj) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /backend/node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf16"), 8 | require("./utf7"), 9 | require("./sbcs-codec"), 10 | require("./sbcs-data"), 11 | require("./sbcs-data-generated"), 12 | require("./dbcs-codec"), 13 | require("./dbcs-data"), 14 | ]; 15 | 16 | // Put all encoding/alias/codec definitions to single object and export it. 17 | for (var i = 0; i < modules.length; i++) { 18 | var module = modules[i]; 19 | for (var enc in module) 20 | if (Object.prototype.hasOwnProperty.call(module, enc)) 21 | exports[enc] = module[enc]; 22 | } 23 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/SubscriptionScheduleRevisions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | 5 | /** 6 | * SubscriptionScheduleRevisions is a unique resource in that, upon instantiation, 7 | * requires a subscription schedule id, and therefore each of its methods only 8 | * require the scheduleId argument. 9 | * 10 | * This streamlines the API specifically for the case of accessing a revision 11 | * on a returned subscription schedule object. 12 | * 13 | * E.g. scheduleObject.revisions.retrieve(revisionId) 14 | * (As opposed to the also-supported stripe.subscriptionSchedules.retrieveRevision(scheduleId, 15 | * revisionId)) 16 | */ 17 | module.exports = StripeResource.extend({ 18 | path: 'subscription_schedules/{scheduleId}/revisions', 19 | includeBasic: ['list', 'retrieve',], 20 | }); 21 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf16"), 8 | require("./utf7"), 9 | require("./sbcs-codec"), 10 | require("./sbcs-data"), 11 | require("./sbcs-data-generated"), 12 | require("./dbcs-codec"), 13 | require("./dbcs-data"), 14 | ]; 15 | 16 | // Put all encoding/alias/codec definitions to single object and export it. 17 | for (var i = 0; i < modules.length; i++) { 18 | var module = modules[i]; 19 | for (var enc in module) 20 | if (Object.prototype.hasOwnProperty.call(module, enc)) 21 | exports[enc] = module[enc]; 22 | } 23 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/lib/bytesToUuid.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Convert array of 16 byte values to UUID string format of the form: 3 | * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 4 | */ 5 | var byteToHex = []; 6 | for (var i = 0; i < 256; ++i) { 7 | byteToHex[i] = (i + 0x100).toString(16).substr(1); 8 | } 9 | 10 | function bytesToUuid(buf, offset) { 11 | var i = offset || 0; 12 | var bth = byteToHex; 13 | // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4 14 | return ([bth[buf[i++]], bth[buf[i++]], 15 | bth[buf[i++]], bth[buf[i++]], '-', 16 | bth[buf[i++]], bth[buf[i++]], '-', 17 | bth[buf[i++]], bth[buf[i++]], '-', 18 | bth[buf[i++]], bth[buf[i++]], '-', 19 | bth[buf[i++]], bth[buf[i++]], 20 | bth[buf[i++]], bth[buf[i++]], 21 | bth[buf[i++]], bth[buf[i++]]]).join(''); 22 | } 23 | 24 | module.exports = bytesToUuid; 25 | -------------------------------------------------------------------------------- /backend/node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.7 / 2015-07-28 2 | ================== 3 | 4 | * Fixed regression with escaped round brackets and matching groups. 5 | 6 | 0.1.6 / 2015-06-19 7 | ================== 8 | 9 | * Replace `index` feature by outputting all parameters, unnamed and named. 10 | 11 | 0.1.5 / 2015-05-08 12 | ================== 13 | 14 | * Add an index property for position in match result. 15 | 16 | 0.1.4 / 2015-03-05 17 | ================== 18 | 19 | * Add license information 20 | 21 | 0.1.3 / 2014-07-06 22 | ================== 23 | 24 | * Better array support 25 | * Improved support for trailing slash in non-ending mode 26 | 27 | 0.1.0 / 2014-03-06 28 | ================== 29 | 30 | * add options.end 31 | 32 | 0.0.2 / 2013-02-10 33 | ================== 34 | 35 | * Update to match current express 36 | * add .license property to component.json 37 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import { Switch, Route } from 'react-router-dom'; 3 | import './Styles/animate.css'; 4 | import './Styles/bootsnav.css'; 5 | import './Styles/color.css'; 6 | import './Styles/custom.css'; 7 | import Home from './Components/Layouts/Home'; 8 | import MealDetails from './Components/Layouts/MealDetails'; 9 | import Checkout from './Components/Checkout'; 10 | 11 | 12 | class App extends Component { 13 | render() { 14 | return ( 15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | ); 25 | } 26 | } 27 | 28 | export default App; 29 | -------------------------------------------------------------------------------- /backend/node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /backend/node_modules/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape string for use in HTML 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | var html = escape('foo & bar'); 11 | // -> foo & bar 12 | ``` 13 | 14 | ## Benchmark 15 | 16 | ``` 17 | $ npm run-script bench 18 | 19 | > escape-html@1.0.3 bench nodejs-escape-html 20 | > node benchmark/index.js 21 | 22 | 23 | http_parser@1.0 24 | node@0.10.33 25 | v8@3.14.5.9 26 | ares@1.9.0-DEV 27 | uv@0.10.29 28 | zlib@1.2.3 29 | modules@11 30 | openssl@1.0.1j 31 | 32 | 1 test completed. 33 | 2 tests completed. 34 | 3 tests completed. 35 | 36 | no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled) 37 | single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled) 38 | many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled) 39 | ``` 40 | 41 | ## License 42 | 43 | MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # burger-restaurant-app 2 | A restaurant app built with react.js and express.js server that handles payment using stripe api 3 | 4 | # Installation 5 |
    6 |
  • Register at Stripe and Setup a Payment Account to access the Dashboard
  • 7 |
  • Find your API Keys (test_, live_)
  • 8 |
  • Replace frontend API keys: app/src/constants/
  • 9 |
  • Replace backend API keys: app/backend/constants/
  • 10 |
11 | 12 | # Frontend 13 |
    14 |
  • npm install
  • 15 |
  • npm start
  • 16 |
  • visit http://localhost:3000/
  • 17 |
18 | 19 | # Backend 20 |
    21 |
  • cd backend
  • 22 |
  • npm install
  • 23 |
  • node index.js
  • 24 |
  • visit http://localhost:8080/
  • 25 |
26 | 27 | # Usage 28 | When using it in production, you have to use a real credit card. Otherwise, in development mode, you can use a Stripe's test credit cards 29 | -------------------------------------------------------------------------------- /backend/node_modules/vary/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2017-09-23 2 | ================== 3 | 4 | * perf: improve header token parsing speed 5 | 6 | 1.1.1 / 2017-03-20 7 | ================== 8 | 9 | * perf: hoist regular expression 10 | 11 | 1.1.0 / 2015-09-29 12 | ================== 13 | 14 | * Only accept valid field names in the `field` argument 15 | - Ensures the resulting string is a valid HTTP header value 16 | 17 | 1.0.1 / 2015-07-08 18 | ================== 19 | 20 | * Fix setting empty header from empty `field` 21 | * perf: enable strict mode 22 | * perf: remove argument reassignments 23 | 24 | 1.0.0 / 2014-08-10 25 | ================== 26 | 27 | * Accept valid `Vary` header string as `field` 28 | * Add `vary.append` for low-level string manipulation 29 | * Move to `jshttp` orgainzation 30 | 31 | 0.1.0 / 2014-06-05 32 | ================== 33 | 34 | * Support array of fields to set 35 | 36 | 0.0.0 / 2014-06-04 37 | ================== 38 | 39 | * Initial release 40 | -------------------------------------------------------------------------------- /backend/node_modules/setprototypeof/README.md: -------------------------------------------------------------------------------- 1 | # Polyfill for `Object.setPrototypeOf` 2 | 3 | [![NPM Version](https://img.shields.io/npm/v/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) 4 | [![NPM Downloads](https://img.shields.io/npm/dm/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) 5 | [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/standard/standard) 6 | 7 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 8 | 9 | ## Usage: 10 | 11 | ``` 12 | $ npm install --save setprototypeof 13 | ``` 14 | 15 | ```javascript 16 | var setPrototypeOf = require('setprototypeof') 17 | 18 | var obj = {} 19 | setPrototypeOf(obj, { 20 | foo: function () { 21 | return 'bar' 22 | } 23 | }) 24 | obj.foo() // bar 25 | ``` 26 | 27 | TypeScript is also supported: 28 | 29 | ```typescript 30 | import setPrototypeOf = require('setprototypeof') 31 | ``` 32 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/CustomerSubscriptions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | /** 7 | * CustomerSubscription is a unique resource in that, upon instantiation, 8 | * requires a customerId, and therefore each of its methods only 9 | * require the subscriptionId argument. 10 | * 11 | * This streamlines the API specifically for the case of accessing cards 12 | * on a returned customer object. 13 | * 14 | * E.g. customerObject.cards.retrieve(cardId) 15 | * (As opposed to the also-supported stripe.customers.retrieveCard(custId, cardId)) 16 | */ 17 | module.exports = StripeResource.extend({ 18 | path: 'customers/{customerId}/subscriptions', 19 | includeBasic: ['create', 'list', 'retrieve', 'update', 'del'], 20 | 21 | /** 22 | * Customer: Discount methods 23 | */ 24 | 25 | deleteDiscount: stripeMethod({ 26 | method: 'DELETE', 27 | path: '/{subscriptionId}/discount', 28 | urlParams: ['customerId', 'subscriptionId'], 29 | }), 30 | }); 31 | -------------------------------------------------------------------------------- /backend/node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | * @private 14 | */ 15 | 16 | var setPrototypeOf = require('setprototypeof') 17 | 18 | /** 19 | * Initialization middleware, exposing the 20 | * request and response to each other, as well 21 | * as defaulting the X-Powered-By header field. 22 | * 23 | * @param {Function} app 24 | * @return {Function} 25 | * @api private 26 | */ 27 | 28 | exports.init = function(app){ 29 | return function expressInit(req, res, next){ 30 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 31 | req.res = res; 32 | res.req = req; 33 | req.next = next; 34 | 35 | setPrototypeOf(req, app.request) 36 | setPrototypeOf(res, app.response) 37 | 38 | res.locals = res.locals || Object.create(null); 39 | 40 | next(); 41 | }; 42 | }; 43 | 44 | -------------------------------------------------------------------------------- /backend/node_modules/range-parser/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.2.0 / 2016-06-01 2 | ================== 3 | 4 | * Add `combine` option to combine overlapping ranges 5 | 6 | 1.1.0 / 2016-05-13 7 | ================== 8 | 9 | * Fix incorrectly returning -1 when there is at least one valid range 10 | * perf: remove internal function 11 | 12 | 1.0.3 / 2015-10-29 13 | ================== 14 | 15 | * perf: enable strict mode 16 | 17 | 1.0.2 / 2014-09-08 18 | ================== 19 | 20 | * Support Node.js 0.6 21 | 22 | 1.0.1 / 2014-09-07 23 | ================== 24 | 25 | * Move repository to jshttp 26 | 27 | 1.0.0 / 2013-12-11 28 | ================== 29 | 30 | * Add repository to package.json 31 | * Add MIT license 32 | 33 | 0.0.4 / 2012-06-17 34 | ================== 35 | 36 | * Change ret -1 for unsatisfiable and -2 when invalid 37 | 38 | 0.0.3 / 2012-06-17 39 | ================== 40 | 41 | * Fix last-byte-pos default to len - 1 42 | 43 | 0.0.2 / 2012-06-14 44 | ================== 45 | 46 | * Add `.type` 47 | 48 | 0.0.1 / 2012-06-11 49 | ================== 50 | 51 | * Initial release 52 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/ApplicationFees.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'application_fees', 9 | 10 | includeBasic: [ 11 | 'list', 'retrieve', 12 | ], 13 | 14 | refund: stripeMethod({ 15 | method: 'POST', 16 | path: '/{id}/refund', 17 | urlParams: ['id'], 18 | }), 19 | 20 | createRefund: stripeMethod({ 21 | method: 'POST', 22 | path: '/{feeId}/refunds', 23 | urlParams: ['feeId'], 24 | }), 25 | 26 | listRefunds: stripeMethod({ 27 | method: 'GET', 28 | path: '/{feeId}/refunds', 29 | urlParams: ['feeId'], 30 | methodType: 'list', 31 | }), 32 | 33 | retrieveRefund: stripeMethod({ 34 | method: 'GET', 35 | path: '/{feeId}/refunds/{refundId}', 36 | urlParams: ['feeId', 'refundId'], 37 | }), 38 | 39 | updateRefund: stripeMethod({ 40 | method: 'POST', 41 | path: '/{feeId}/refunds/{refundId}', 42 | urlParams: ['feeId', 'refundId'], 43 | }), 44 | }); 45 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. 4 | * REQUIREMENT: This definition is dependent on the @types/node definition. 5 | * Install with `npm install @types/node --save-dev` 6 | *--------------------------------------------------------------------------------------------*/ 7 | 8 | declare module 'iconv-lite' { 9 | export function decode(buffer: Buffer, encoding: string, options?: Options): string; 10 | 11 | export function encode(content: string, encoding: string, options?: Options): Buffer; 12 | 13 | export function encodingExists(encoding: string): boolean; 14 | 15 | export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 16 | 17 | export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 18 | } 19 | 20 | export interface Options { 21 | stripBOM?: boolean; 22 | addBOM?: boolean; 23 | defaultEncoding?: string; 24 | } 25 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/SubscriptionSchedules.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'subscription_schedules', 9 | 10 | includeBasic: [ 11 | 'create', 'list', 'retrieve', 'update', 12 | 'setMetadata', 'getMetadata', 13 | ], 14 | 15 | release: stripeMethod({ 16 | method: 'POST', 17 | path: '/{id}/release', 18 | urlParams: ['id'], 19 | }), 20 | 21 | cancel: stripeMethod({ 22 | method: 'POST', 23 | path: '/{id}/cancel', 24 | urlParams: ['id'], 25 | }), 26 | 27 | /** 28 | * SubscriptionSchedules: SubscriptionScheduleRevisions methods 29 | */ 30 | 31 | listRevisions: stripeMethod({ 32 | method: 'GET', 33 | path: '/{scheduleId}/revisions', 34 | urlParams: ['scheduleId'], 35 | methodType: 'list', 36 | }), 37 | 38 | retrieveRevision: stripeMethod({ 39 | method: 'GET', 40 | path: '/{scheduleId}/revisions/{revisionId}', 41 | urlParams: ['scheduleId', 'revisionId'], 42 | }), 43 | }); 44 | -------------------------------------------------------------------------------- /backend/node_modules/content-disposition/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.2 / 2016-12-08 2 | ================== 3 | 4 | * Fix `parse` to accept any linear whitespace character 5 | 6 | 0.5.1 / 2016-01-17 7 | ================== 8 | 9 | * perf: enable strict mode 10 | 11 | 0.5.0 / 2014-10-11 12 | ================== 13 | 14 | * Add `parse` function 15 | 16 | 0.4.0 / 2014-09-21 17 | ================== 18 | 19 | * Expand non-Unicode `filename` to the full ISO-8859-1 charset 20 | 21 | 0.3.0 / 2014-09-20 22 | ================== 23 | 24 | * Add `fallback` option 25 | * Add `type` option 26 | 27 | 0.2.0 / 2014-09-19 28 | ================== 29 | 30 | * Reduce ambiguity of file names with hex escape in buggy browsers 31 | 32 | 0.1.2 / 2014-09-19 33 | ================== 34 | 35 | * Fix periodic invalid Unicode filename header 36 | 37 | 0.1.1 / 2014-09-19 38 | ================== 39 | 40 | * Fix invalid characters appearing in `filename*` parameter 41 | 42 | 0.1.0 / 2014-09-18 43 | ================== 44 | 45 | * Make the `filename` argument optional 46 | 47 | 0.0.0 / 2014-09-18 48 | ================== 49 | 50 | * Initial release 51 | -------------------------------------------------------------------------------- /backend/node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | */ 14 | 15 | var merge = require('utils-merge') 16 | var parseUrl = require('parseurl'); 17 | var qs = require('qs'); 18 | 19 | /** 20 | * @param {Object} options 21 | * @return {Function} 22 | * @api public 23 | */ 24 | 25 | module.exports = function query(options) { 26 | var opts = merge({}, options) 27 | var queryparse = qs.parse; 28 | 29 | if (typeof options === 'function') { 30 | queryparse = options; 31 | opts = undefined; 32 | } 33 | 34 | if (opts !== undefined && opts.allowPrototypes === undefined) { 35 | // back-compat for qs module 36 | opts.allowPrototypes = true; 37 | } 38 | 39 | return function query(req, res, next){ 40 | if (!req.query) { 41 | var val = parseUrl(req).query; 42 | req.query = queryparse(val, opts); 43 | } 44 | 45 | next(); 46 | }; 47 | }; 48 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/iconv-lite/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. 4 | * REQUIREMENT: This definition is dependent on the @types/node definition. 5 | * Install with `npm install @types/node --save-dev` 6 | *--------------------------------------------------------------------------------------------*/ 7 | 8 | declare module 'iconv-lite' { 9 | export function decode(buffer: Buffer, encoding: string, options?: Options): string; 10 | 11 | export function encode(content: string, encoding: string, options?: Options): Buffer; 12 | 13 | export function encodingExists(encoding: string): boolean; 14 | 15 | export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 16 | 17 | export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 18 | } 19 | 20 | export interface Options { 21 | stripBOM?: boolean; 22 | addBOM?: boolean; 23 | defaultEncoding?: string; 24 | } 25 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Alexander Shtuchkin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /backend/node_modules/ms/license.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/ipaddr.js/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011-2017 whitequark 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /backend/node_modules/safe-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Feross Aboukhadijeh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/utils-merge/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2017 Jared Hanson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/iconv-lite/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Alexander Shtuchkin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /backend/node_modules/cors/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # contributing to `cors` 2 | 3 | CORS is a node.js package for providing a [connect](http://www.senchalabs.org/connect/)/[express](http://expressjs.com/) middleware that can be used to enable [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing) with various options. Learn more about the project in [the README](README.md). 4 | 5 | ## The CORS Spec 6 | 7 | [http://www.w3.org/TR/cors/](http://www.w3.org/TR/cors/) 8 | 9 | ## Pull Requests Welcome 10 | 11 | * Include `'use strict';` in every javascript file. 12 | * 2 space indentation. 13 | * Please run the testing steps below before submitting. 14 | 15 | ## Testing 16 | 17 | ```bash 18 | $ npm install 19 | $ npm test 20 | ``` 21 | 22 | ## Interactive Testing Harness 23 | 24 | [http://node-cors-client.herokuapp.com](http://node-cors-client.herokuapp.com) 25 | 26 | Related git repositories: 27 | 28 | * [https://github.com/TroyGoode/node-cors-server](https://github.com/TroyGoode/node-cors-server) 29 | * [https://github.com/TroyGoode/node-cors-client](https://github.com/TroyGoode/node-cors-client) 30 | 31 | ## License 32 | 33 | [MIT License](http://www.opensource.org/licenses/mit-license.php) 34 | -------------------------------------------------------------------------------- /backend/node_modules/debug/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 6 | and associated documentation files (the 'Software'), to deal in the Software without restriction, 7 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 9 | subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all copies or substantial 12 | portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 15 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 18 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | 20 | -------------------------------------------------------------------------------- /backend/node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/encodeurl/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/etag/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/vary/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/content-type/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/cors/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Troy Goode 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/forwarded/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/media-typer/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/safer-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Nikita Skovoroda 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011 Ask Bjørn Hansen 2 | Copyright (C) 2013 Stripe, Inc. (https://stripe.com) 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in 12 | all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. -------------------------------------------------------------------------------- /backend/node_modules/content-disposition/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/destroy/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/ee-first/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/mime-db/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/proxy-addr/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/array-flatten/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/path-to-regexp/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010-2016 Robert Kieffer and other contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/toidentifier/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/unpipe/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/object-assign/license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Sindre Sorhus (sindresorhus.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/Recipients.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | 6 | module.exports = StripeResource.extend({ 7 | 8 | path: 'recipients', 9 | includeBasic: [ 10 | 'create', 'list', 'retrieve', 'update', 'del', 11 | 'setMetadata', 'getMetadata', 12 | ], 13 | 14 | createCard: stripeMethod({ 15 | method: 'POST', 16 | path: '/{recipientId}/cards', 17 | urlParams: ['recipientId'], 18 | }), 19 | 20 | listCards: stripeMethod({ 21 | method: 'GET', 22 | path: '/{recipientId}/cards', 23 | urlParams: ['recipientId'], 24 | methodType: 'list', 25 | }), 26 | 27 | retrieveCard: stripeMethod({ 28 | method: 'GET', 29 | path: '/{recipientId}/cards/{cardId}', 30 | urlParams: ['recipientId', 'cardId'], 31 | }), 32 | 33 | updateCard: stripeMethod({ 34 | method: 'POST', 35 | path: '/{recipientId}/cards/{cardId}', 36 | urlParams: ['recipientId', 'cardId'], 37 | }), 38 | 39 | deleteCard: stripeMethod({ 40 | method: 'DELETE', 41 | path: '/{recipientId}/cards/{cardId}', 42 | urlParams: ['recipientId', 'cardId'], 43 | }), 44 | 45 | }); 46 | 47 | -------------------------------------------------------------------------------- /backend/node_modules/finalhandler/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/Components/Layouts/Splash.js: -------------------------------------------------------------------------------- 1 | import React,{ Component } from 'react'; 2 | 3 | class Splash extends Component { 4 | render() { 5 | return ( 6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | ); 24 | } 25 | } 26 | 27 | export default Splash; -------------------------------------------------------------------------------- /backend/node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2014-2016 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /src/Components/Layouts/Menu.js: -------------------------------------------------------------------------------- 1 | import React,{ Component } from 'react'; 2 | import { MenuDetails } from '../../constants/MenuDetails'; 3 | import MenuItems from './MenuItems'; 4 | 5 | class Menu extends Component { 6 | constructor(props){ 7 | super(props); 8 | this.state= { 9 | menuList: MenuDetails, 10 | }; 11 | } 12 | 13 | render(){ 14 | return( 15 |
16 |
17 | {this.state.menuList.map(item => 18 | 30 | )} 31 |
32 |
33 | ); 34 | } 35 | } 36 | 37 | export default Menu; -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/encodings/tables/gbk-added.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["a140","",62], 3 | ["a180","",32], 4 | ["a240","",62], 5 | ["a280","",32], 6 | ["a2ab","",5], 7 | ["a2e3","€"], 8 | ["a2ef",""], 9 | ["a2fd",""], 10 | ["a340","",62], 11 | ["a380","",31," "], 12 | ["a440","",62], 13 | ["a480","",32], 14 | ["a4f4","",10], 15 | ["a540","",62], 16 | ["a580","",32], 17 | ["a5f7","",7], 18 | ["a640","",62], 19 | ["a680","",32], 20 | ["a6b9","",7], 21 | ["a6d9","",6], 22 | ["a6ec",""], 23 | ["a6f3",""], 24 | ["a6f6","",8], 25 | ["a740","",62], 26 | ["a780","",32], 27 | ["a7c2","",14], 28 | ["a7f2","",12], 29 | ["a896","",10], 30 | ["a8bc",""], 31 | ["a8bf","ǹ"], 32 | ["a8c1",""], 33 | ["a8ea","",20], 34 | ["a958",""], 35 | ["a95b",""], 36 | ["a95d",""], 37 | ["a989","〾⿰",11], 38 | ["a997","",12], 39 | ["a9f0","",14], 40 | ["aaa1","",93], 41 | ["aba1","",93], 42 | ["aca1","",93], 43 | ["ada1","",93], 44 | ["aea1","",93], 45 | ["afa1","",93], 46 | ["d7fa","",4], 47 | ["f8a1","",93], 48 | ["f9a1","",93], 49 | ["faa1","",93], 50 | ["fba1","",93], 51 | ["fca1","",93], 52 | ["fda1","",93], 53 | ["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"], 54 | ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] 55 | ] 56 | -------------------------------------------------------------------------------- /backend/node_modules/bytes/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | Copyright (c) 2015 Jed Watson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/escape-html/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2013 TJ Holowaychuk 4 | Copyright (c) 2015 Andreas Lubbe 5 | Copyright (c) 2015 Tiancheng "Timothy" Gu 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/iconv-lite/encodings/tables/gbk-added.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["a140","",62], 3 | ["a180","",32], 4 | ["a240","",62], 5 | ["a280","",32], 6 | ["a2ab","",5], 7 | ["a2e3","€"], 8 | ["a2ef",""], 9 | ["a2fd",""], 10 | ["a340","",62], 11 | ["a380","",31," "], 12 | ["a440","",62], 13 | ["a480","",32], 14 | ["a4f4","",10], 15 | ["a540","",62], 16 | ["a580","",32], 17 | ["a5f7","",7], 18 | ["a640","",62], 19 | ["a680","",32], 20 | ["a6b9","",7], 21 | ["a6d9","",6], 22 | ["a6ec",""], 23 | ["a6f3",""], 24 | ["a6f6","",8], 25 | ["a740","",62], 26 | ["a780","",32], 27 | ["a7c2","",14], 28 | ["a7f2","",12], 29 | ["a896","",10], 30 | ["a8bc",""], 31 | ["a8bf","ǹ"], 32 | ["a8c1",""], 33 | ["a8ea","",20], 34 | ["a958",""], 35 | ["a95b",""], 36 | ["a95d",""], 37 | ["a989","〾⿰",11], 38 | ["a997","",12], 39 | ["a9f0","",14], 40 | ["aaa1","",93], 41 | ["aba1","",93], 42 | ["aca1","",93], 43 | ["ada1","",93], 44 | ["aea1","",93], 45 | ["afa1","",93], 46 | ["d7fa","",4], 47 | ["f8a1","",93], 48 | ["f9a1","",93], 49 | ["faa1","",93], 50 | ["fba1","",93], 51 | ["fca1","",93], 52 | ["fda1","",93], 53 | ["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"], 54 | ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] 55 | ] 56 | -------------------------------------------------------------------------------- /backend/node_modules/send/node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.4.0 / 2017-10-20 2 | ================== 3 | 4 | * Add `STATUS_CODES` export 5 | 6 | 1.3.1 / 2016-11-11 7 | ================== 8 | 9 | * Fix return type in JSDoc 10 | 11 | 1.3.0 / 2016-05-17 12 | ================== 13 | 14 | * Add `421 Misdirected Request` 15 | * perf: enable strict mode 16 | 17 | 1.2.1 / 2015-02-01 18 | ================== 19 | 20 | * Fix message for status 451 21 | - `451 Unavailable For Legal Reasons` 22 | 23 | 1.2.0 / 2014-09-28 24 | ================== 25 | 26 | * Add `208 Already Repored` 27 | * Add `226 IM Used` 28 | * Add `306 (Unused)` 29 | * Add `415 Unable For Legal Reasons` 30 | * Add `508 Loop Detected` 31 | 32 | 1.1.1 / 2014-09-24 33 | ================== 34 | 35 | * Add missing 308 to `codes.json` 36 | 37 | 1.1.0 / 2014-09-21 38 | ================== 39 | 40 | * Add `codes.json` for universal support 41 | 42 | 1.0.4 / 2014-08-20 43 | ================== 44 | 45 | * Package cleanup 46 | 47 | 1.0.3 / 2014-06-08 48 | ================== 49 | 50 | * Add 308 to `.redirect` category 51 | 52 | 1.0.2 / 2014-03-13 53 | ================== 54 | 55 | * Add `.retry` category 56 | 57 | 1.0.1 / 2014-03-12 58 | ================== 59 | 60 | * Initial release 61 | -------------------------------------------------------------------------------- /backend/node_modules/accepts/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.4.0 / 2017-10-20 2 | ================== 3 | 4 | * Add `STATUS_CODES` export 5 | 6 | 1.3.1 / 2016-11-11 7 | ================== 8 | 9 | * Fix return type in JSDoc 10 | 11 | 1.3.0 / 2016-05-17 12 | ================== 13 | 14 | * Add `421 Misdirected Request` 15 | * perf: enable strict mode 16 | 17 | 1.2.1 / 2015-02-01 18 | ================== 19 | 20 | * Fix message for status 451 21 | - `451 Unavailable For Legal Reasons` 22 | 23 | 1.2.0 / 2014-09-28 24 | ================== 25 | 26 | * Add `208 Already Repored` 27 | * Add `226 IM Used` 28 | * Add `306 (Unused)` 29 | * Add `415 Unable For Legal Reasons` 30 | * Add `508 Loop Detected` 31 | 32 | 1.1.1 / 2014-09-24 33 | ================== 34 | 35 | * Add missing 308 to `codes.json` 36 | 37 | 1.1.0 / 2014-09-21 38 | ================== 39 | 40 | * Add `codes.json` for universal support 41 | 42 | 1.0.4 / 2014-08-20 43 | ================== 44 | 45 | * Package cleanup 46 | 47 | 1.0.3 / 2014-06-08 48 | ================== 49 | 50 | * Add 308 to `.redirect` category 51 | 52 | 1.0.2 / 2014-03-13 53 | ================== 54 | 55 | * Add `.retry` category 56 | 57 | 1.0.1 / 2014-03-12 58 | ================== 59 | 60 | * Initial release 61 | -------------------------------------------------------------------------------- /backend/node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/on-finished/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2014 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/path-to-regexp/Readme.md: -------------------------------------------------------------------------------- 1 | # Path-to-RegExp 2 | 3 | Turn an Express-style path string such as `/user/:name` into a regular expression. 4 | 5 | **Note:** This is a legacy branch. You should upgrade to `1.x`. 6 | 7 | ## Usage 8 | 9 | ```javascript 10 | var pathToRegexp = require('path-to-regexp'); 11 | ``` 12 | 13 | ### pathToRegexp(path, keys, options) 14 | 15 | - **path** A string in the express format, an array of such strings, or a regular expression 16 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. 17 | - **options** 18 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive 19 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter. 20 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL. 21 | 22 | ```javascript 23 | var keys = []; 24 | var exp = pathToRegexp('/foo/:bar', keys); 25 | //keys = ['bar'] 26 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i 27 | ``` 28 | 29 | ## Live Demo 30 | 31 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /backend/node_modules/body-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/bytes/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | Copyright (c) 2015 Jed Watson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/finalhandler/node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.4.0 / 2017-10-20 2 | ================== 3 | 4 | * Add `STATUS_CODES` export 5 | 6 | 1.3.1 / 2016-11-11 7 | ================== 8 | 9 | * Fix return type in JSDoc 10 | 11 | 1.3.0 / 2016-05-17 12 | ================== 13 | 14 | * Add `421 Misdirected Request` 15 | * perf: enable strict mode 16 | 17 | 1.2.1 / 2015-02-01 18 | ================== 19 | 20 | * Fix message for status 451 21 | - `451 Unavailable For Legal Reasons` 22 | 23 | 1.2.0 / 2014-09-28 24 | ================== 25 | 26 | * Add `208 Already Repored` 27 | * Add `226 IM Used` 28 | * Add `306 (Unused)` 29 | * Add `415 Unable For Legal Reasons` 30 | * Add `508 Loop Detected` 31 | 32 | 1.1.1 / 2014-09-24 33 | ================== 34 | 35 | * Add missing 308 to `codes.json` 36 | 37 | 1.1.0 / 2014-09-21 38 | ================== 39 | 40 | * Add `codes.json` for universal support 41 | 42 | 1.0.4 / 2014-08-20 43 | ================== 44 | 45 | * Package cleanup 46 | 47 | 1.0.3 / 2014-06-08 48 | ================== 49 | 50 | * Add 308 to `.redirect` category 51 | 52 | 1.0.2 / 2014-03-13 53 | ================== 54 | 55 | * Add `.retry` category 56 | 57 | 1.0.1 / 2014-03-12 58 | ================== 59 | 60 | * Initial release 61 | -------------------------------------------------------------------------------- /backend/node_modules/fresh/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2016-2017 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/http-errors/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/statuses/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2016 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/type-is/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/cookie/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Roman Shtylman 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /backend/node_modules/merge-descriptors/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/parseurl/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | (The MIT License) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2014-2017 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /backend/node_modules/raw-body/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/methods/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013-2014 TJ Holowaychuk 4 | Copyright (c) 2015-2016 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /backend/node_modules/negotiator/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Federico Romero 4 | Copyright (c) 2012-2014 Isaac Z. Schlueter 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /backend/node_modules/range-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | Copyright (c) 2015-2016 Douglas Christopher Wilson 5 | Copyright (c) 2016 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 2 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 3 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 4 | 5 | # BIN directory 6 | BIN := $(THIS_DIR)/node_modules/.bin 7 | 8 | # Path 9 | PATH := node_modules/.bin:$(PATH) 10 | SHELL := /bin/bash 11 | 12 | # applications 13 | NODE ?= $(shell which node) 14 | YARN ?= $(shell which yarn) 15 | PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) 16 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 17 | 18 | .FORCE: 19 | 20 | install: node_modules 21 | 22 | node_modules: package.json 23 | @NODE_ENV= $(PKG) install 24 | @touch node_modules 25 | 26 | lint: .FORCE 27 | eslint browser.js debug.js index.js node.js 28 | 29 | test-node: .FORCE 30 | istanbul cover node_modules/mocha/bin/_mocha -- test/**.js 31 | 32 | test-browser: .FORCE 33 | mkdir -p dist 34 | 35 | @$(BROWSERIFY) \ 36 | --standalone debug \ 37 | . > dist/debug.js 38 | 39 | karma start --single-run 40 | rimraf dist 41 | 42 | test: .FORCE 43 | concurrently \ 44 | "make test-node" \ 45 | "make test-browser" 46 | 47 | coveralls: 48 | cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js 49 | 50 | .PHONY: all install clean distclean 51 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/http-errors/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/statuses/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2016 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/body-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/raw-body/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /backend/node_modules/finalhandler/node_modules/statuses/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2016 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /backend/node_modules/serve-static/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | Copyright (c) 2014-2016 Douglas Christopher Wilson 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | 'Software'), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /backend/node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.3 / 2019-04-15 2 | ================== 3 | 4 | * Fix Node.js 0.8 return value inconsistencies 5 | 6 | 1.3.2 / 2017-09-09 7 | ================== 8 | 9 | * perf: reduce overhead for full URLs 10 | * perf: unroll the "fast-path" `RegExp` 11 | 12 | 1.3.1 / 2016-01-17 13 | ================== 14 | 15 | * perf: enable strict mode 16 | 17 | 1.3.0 / 2014-08-09 18 | ================== 19 | 20 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback 21 | * Return `undefined` if `req.url` is `undefined` 22 | 23 | 1.2.0 / 2014-07-21 24 | ================== 25 | 26 | * Cache URLs based on original value 27 | * Remove no-longer-needed URL mis-parse work-around 28 | * Simplify the "fast-path" `RegExp` 29 | 30 | 1.1.3 / 2014-07-08 31 | ================== 32 | 33 | * Fix typo 34 | 35 | 1.1.2 / 2014-07-08 36 | ================== 37 | 38 | * Seriously fix Node.js 0.8 compatibility 39 | 40 | 1.1.1 / 2014-07-08 41 | ================== 42 | 43 | * Fix Node.js 0.8 compatibility 44 | 45 | 1.1.0 / 2014-07-08 46 | ================== 47 | 48 | * Incorporate URL href-only parse fast-path 49 | 50 | 1.0.1 / 2014-03-08 51 | ================== 52 | 53 | * Add missing `require` 54 | 55 | 1.0.0 / 2014-03-08 56 | ================== 57 | 58 | * Genesis from `connect` 59 | -------------------------------------------------------------------------------- /backend/node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.5.0 / 2018-03-27 2 | ================== 3 | 4 | * Add `103 Early Hints` 5 | 6 | 1.4.0 / 2017-10-20 7 | ================== 8 | 9 | * Add `STATUS_CODES` export 10 | 11 | 1.3.1 / 2016-11-11 12 | ================== 13 | 14 | * Fix return type in JSDoc 15 | 16 | 1.3.0 / 2016-05-17 17 | ================== 18 | 19 | * Add `421 Misdirected Request` 20 | * perf: enable strict mode 21 | 22 | 1.2.1 / 2015-02-01 23 | ================== 24 | 25 | * Fix message for status 451 26 | - `451 Unavailable For Legal Reasons` 27 | 28 | 1.2.0 / 2014-09-28 29 | ================== 30 | 31 | * Add `208 Already Repored` 32 | * Add `226 IM Used` 33 | * Add `306 (Unused)` 34 | * Add `415 Unable For Legal Reasons` 35 | * Add `508 Loop Detected` 36 | 37 | 1.1.1 / 2014-09-24 38 | ================== 39 | 40 | * Add missing 308 to `codes.json` 41 | 42 | 1.1.0 / 2014-09-21 43 | ================== 44 | 45 | * Add `codes.json` for universal support 46 | 47 | 1.0.4 / 2014-08-20 48 | ================== 49 | 50 | * Package cleanup 51 | 52 | 1.0.3 / 2014-06-08 53 | ================== 54 | 55 | * Add 308 to `.redirect` category 56 | 57 | 1.0.2 / 2014-03-13 58 | ================== 59 | 60 | * Add `.retry` category 61 | 62 | 1.0.1 / 2014-03-12 63 | ================== 64 | 65 | * Initial release 66 | -------------------------------------------------------------------------------- /backend/node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2014 TJ Holowaychuk 4 | Copyright (c) 2013-2014 Roman Shtylman 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /backend/node_modules/iconv-lite/lib/bom-handling.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var BOMChar = '\uFEFF'; 4 | 5 | exports.PrependBOM = PrependBOMWrapper 6 | function PrependBOMWrapper(encoder, options) { 7 | this.encoder = encoder; 8 | this.addBOM = true; 9 | } 10 | 11 | PrependBOMWrapper.prototype.write = function(str) { 12 | if (this.addBOM) { 13 | str = BOMChar + str; 14 | this.addBOM = false; 15 | } 16 | 17 | return this.encoder.write(str); 18 | } 19 | 20 | PrependBOMWrapper.prototype.end = function() { 21 | return this.encoder.end(); 22 | } 23 | 24 | 25 | //------------------------------------------------------------------------------ 26 | 27 | exports.StripBOM = StripBOMWrapper; 28 | function StripBOMWrapper(decoder, options) { 29 | this.decoder = decoder; 30 | this.pass = false; 31 | this.options = options || {}; 32 | } 33 | 34 | StripBOMWrapper.prototype.write = function(buf) { 35 | var res = this.decoder.write(buf); 36 | if (this.pass || !res) 37 | return res; 38 | 39 | if (res[0] === BOMChar) { 40 | res = res.slice(1); 41 | if (typeof this.options.stripBOM === 'function') 42 | this.options.stripBOM(); 43 | } 44 | 45 | this.pass = true; 46 | return res; 47 | } 48 | 49 | StripBOMWrapper.prototype.end = function() { 50 | return this.decoder.end(); 51 | } 52 | 53 | -------------------------------------------------------------------------------- /backend/node_modules/methods/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * methods 3 | * Copyright(c) 2013-2014 TJ Holowaychuk 4 | * Copyright(c) 2015-2016 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | 'use strict'; 9 | 10 | /** 11 | * Module dependencies. 12 | * @private 13 | */ 14 | 15 | var http = require('http'); 16 | 17 | /** 18 | * Module exports. 19 | * @public 20 | */ 21 | 22 | module.exports = getCurrentNodeMethods() || getBasicNodeMethods(); 23 | 24 | /** 25 | * Get the current Node.js methods. 26 | * @private 27 | */ 28 | 29 | function getCurrentNodeMethods() { 30 | return http.METHODS && http.METHODS.map(function lowerCaseMethod(method) { 31 | return method.toLowerCase(); 32 | }); 33 | } 34 | 35 | /** 36 | * Get the "basic" Node.js methods, a snapshot from Node.js 0.10. 37 | * @private 38 | */ 39 | 40 | function getBasicNodeMethods() { 41 | return [ 42 | 'get', 43 | 'post', 44 | 'put', 45 | 'head', 46 | 'delete', 47 | 'options', 48 | 'trace', 49 | 'copy', 50 | 'lock', 51 | 'mkcol', 52 | 'move', 53 | 'purge', 54 | 'propfind', 55 | 'proppatch', 56 | 'unlock', 57 | 'report', 58 | 'mkactivity', 59 | 'checkout', 60 | 'merge', 61 | 'm-search', 62 | 'notify', 63 | 'subscribe', 64 | 'unsubscribe', 65 | 'patch', 66 | 'search', 67 | 'connect' 68 | ]; 69 | } 70 | -------------------------------------------------------------------------------- /backend/node_modules/express/node_modules/iconv-lite/lib/bom-handling.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var BOMChar = '\uFEFF'; 4 | 5 | exports.PrependBOM = PrependBOMWrapper 6 | function PrependBOMWrapper(encoder, options) { 7 | this.encoder = encoder; 8 | this.addBOM = true; 9 | } 10 | 11 | PrependBOMWrapper.prototype.write = function(str) { 12 | if (this.addBOM) { 13 | str = BOMChar + str; 14 | this.addBOM = false; 15 | } 16 | 17 | return this.encoder.write(str); 18 | } 19 | 20 | PrependBOMWrapper.prototype.end = function() { 21 | return this.encoder.end(); 22 | } 23 | 24 | 25 | //------------------------------------------------------------------------------ 26 | 27 | exports.StripBOM = StripBOMWrapper; 28 | function StripBOMWrapper(decoder, options) { 29 | this.decoder = decoder; 30 | this.pass = false; 31 | this.options = options || {}; 32 | } 33 | 34 | StripBOMWrapper.prototype.write = function(buf) { 35 | var res = this.decoder.write(buf); 36 | if (this.pass || !res) 37 | return res; 38 | 39 | if (res[0] === BOMChar) { 40 | res = res.slice(1); 41 | if (typeof this.options.stripBOM === 'function') 42 | this.options.stripBOM(); 43 | } 44 | 45 | this.pass = true; 46 | return res; 47 | } 48 | 49 | StripBOMWrapper.prototype.end = function() { 50 | return this.decoder.end(); 51 | } 52 | 53 | -------------------------------------------------------------------------------- /backend/node_modules/destroy/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * destroy 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module dependencies. 11 | * @private 12 | */ 13 | 14 | var ReadStream = require('fs').ReadStream 15 | var Stream = require('stream') 16 | 17 | /** 18 | * Module exports. 19 | * @public 20 | */ 21 | 22 | module.exports = destroy 23 | 24 | /** 25 | * Destroy a stream. 26 | * 27 | * @param {object} stream 28 | * @public 29 | */ 30 | 31 | function destroy(stream) { 32 | if (stream instanceof ReadStream) { 33 | return destroyReadStream(stream) 34 | } 35 | 36 | if (!(stream instanceof Stream)) { 37 | return stream 38 | } 39 | 40 | if (typeof stream.destroy === 'function') { 41 | stream.destroy() 42 | } 43 | 44 | return stream 45 | } 46 | 47 | /** 48 | * Destroy a ReadStream. 49 | * 50 | * @param {object} stream 51 | * @private 52 | */ 53 | 54 | function destroyReadStream(stream) { 55 | stream.destroy() 56 | 57 | if (typeof stream.close === 'function') { 58 | // node.js core bug work-around 59 | stream.on('open', onOpenClose) 60 | } 61 | 62 | return stream 63 | } 64 | 65 | /** 66 | * On open handler to close stream. 67 | * @private 68 | */ 69 | 70 | function onOpenClose() { 71 | if (typeof this.fd === 'number') { 72 | // actually close down the fd 73 | this.close() 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /src/constants/MenuDetails.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | const MenuDetails = [ 4 | { 5 | title: 'Shack Burger', 6 | description: 'Black Angus beef patty topped with American cheese, tomato, lettuce, and “Shack Sauce,” served in a grilled potato bun', 7 | className: 'shack_burger', 8 | image_title: 'chicken', 9 | imageClass: 'chicken', 10 | price: 500, 11 | row: 1, 12 | objectID: 1, 13 | }, 14 | { 15 | title: 'Signature', 16 | description: 'It used to be a Secret but not any more! Our tribute to the King is a Cheddar Beef Patty', 17 | className: 'signature', 18 | price: 1000, 19 | row: 1, 20 | objectID: 2, 21 | }, 22 | { 23 | title: 'Classic', 24 | description: 'Instead of traditional cucumber pickles, legendary chef-owner Judy Rodgers accents her burgers with thin-cut zucchini strips pickled in apple cider vinegar, mustard seeds and turmeric.', 25 | className: 'classic', 26 | header: 'House-ground hamburger', 27 | shortDescription: '(served in a grilled rosemary focaccia).', 28 | price: 1000, 29 | row: 2, 30 | objectID: 3, 31 | }, 32 | { 33 | title: 'The Original Burger', 34 | image_title: 'original burger', 35 | price: 1000, 36 | row: 2, 37 | objectID: 4, 38 | }, 39 | ]; 40 | 41 | export {MenuDetails}; -------------------------------------------------------------------------------- /backend/node_modules/cors/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.8.5 / 2018-11-04 2 | ================== 3 | 4 | * Fix setting `maxAge` option to `0` 5 | 6 | 2.8.4 / 2017-07-12 7 | ================== 8 | 9 | * Work-around Safari bug in default pre-flight response 10 | 11 | 2.8.3 / 2017-03-29 12 | ================== 13 | 14 | * Fix error when options delegate missing `methods` option 15 | 16 | 2.8.2 / 2017-03-28 17 | ================== 18 | 19 | * Fix error when frozen options are passed 20 | * Send "Vary: Origin" when using regular expressions 21 | * Send "Vary: Access-Control-Request-Headers" when dynamic `allowedHeaders` 22 | 23 | 2.8.1 / 2016-09-08 24 | ================== 25 | 26 | This release only changed documentation. 27 | 28 | 2.8.0 / 2016-08-23 29 | ================== 30 | 31 | * Add `optionsSuccessStatus` option 32 | 33 | 2.7.2 / 2016-08-23 34 | ================== 35 | 36 | * Fix error when Node.js running in strict mode 37 | 38 | 2.7.1 / 2015-05-28 39 | ================== 40 | 41 | * Move module into expressjs organization 42 | 43 | 2.7.0 / 2015-05-28 44 | ================== 45 | 46 | * Allow array of matching condition as `origin` option 47 | * Allow regular expression as `origin` option 48 | 49 | 2.6.1 / 2015-05-28 50 | ================== 51 | 52 | * Update `license` in package.json 53 | 54 | 2.6.0 / 2015-04-27 55 | ================== 56 | 57 | * Add `preflightContinue` option 58 | * Fix "Vary: Origin" header added for "*" 59 | -------------------------------------------------------------------------------- /backend/node_modules/merge-descriptors/README.md: -------------------------------------------------------------------------------- 1 | # Merge Descriptors 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Build Status][travis-image]][travis-url] 6 | [![Test Coverage][coveralls-image]][coveralls-url] 7 | 8 | Merge objects using descriptors. 9 | 10 | ```js 11 | var thing = { 12 | get name() { 13 | return 'jon' 14 | } 15 | } 16 | 17 | var animal = { 18 | 19 | } 20 | 21 | merge(animal, thing) 22 | 23 | animal.name === 'jon' 24 | ``` 25 | 26 | ## API 27 | 28 | ### merge(destination, source) 29 | 30 | Redefines `destination`'s descriptors with `source`'s. 31 | 32 | ### merge(destination, source, false) 33 | 34 | Defines `source`'s descriptors on `destination` if `destination` does not have 35 | a descriptor by the same name. 36 | 37 | ## License 38 | 39 | [MIT](LICENSE) 40 | 41 | [npm-image]: https://img.shields.io/npm/v/merge-descriptors.svg 42 | [npm-url]: https://npmjs.org/package/merge-descriptors 43 | [travis-image]: https://img.shields.io/travis/component/merge-descriptors/master.svg 44 | [travis-url]: https://travis-ci.org/component/merge-descriptors 45 | [coveralls-image]: https://img.shields.io/coveralls/component/merge-descriptors/master.svg 46 | [coveralls-url]: https://coveralls.io/r/component/merge-descriptors?branch=master 47 | [downloads-image]: https://img.shields.io/npm/dm/merge-descriptors.svg 48 | [downloads-url]: https://npmjs.org/package/merge-descriptors 49 | -------------------------------------------------------------------------------- /backend/node_modules/stripe/lib/resources/OAuth.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var StripeResource = require('../StripeResource'); 4 | var stripeMethod = StripeResource.method; 5 | var utils = require('../utils'); 6 | 7 | var oAuthHost = 'connect.stripe.com'; 8 | 9 | module.exports = StripeResource.extend({ 10 | basePath: '/', 11 | 12 | authorizeUrl: function(params, options) { 13 | params = params || {}; 14 | options = options || {}; 15 | 16 | var path = 'oauth/authorize'; 17 | 18 | // For Express accounts, the path changes 19 | if (options.express) { 20 | path = 'express/' + path; 21 | } 22 | 23 | if (!params.response_type) { 24 | params.response_type = 'code'; 25 | } 26 | 27 | if (!params.client_id) { 28 | params.client_id = this._stripe.getClientId(); 29 | } 30 | 31 | if (!params.scope) { 32 | params.scope = 'read_write'; 33 | } 34 | 35 | return 'https://' + oAuthHost + '/' + path + '?' + utils.stringifyRequestData(params); 36 | }, 37 | 38 | token: stripeMethod({ 39 | method: 'POST', 40 | path: 'oauth/token', 41 | host: oAuthHost, 42 | }), 43 | 44 | deauthorize: function(spec) { 45 | if (!spec.client_id) { 46 | spec.client_id = this._stripe.getClientId(); 47 | } 48 | 49 | return stripeMethod({ 50 | method: 'POST', 51 | path: 'oauth/deauthorize', 52 | host: oAuthHost, 53 | }).apply(this, arguments); 54 | }, 55 | }); 56 | -------------------------------------------------------------------------------- /backend/node_modules/unpipe/README.md: -------------------------------------------------------------------------------- 1 | # unpipe 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-image]][node-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Unpipe a stream from all destinations. 10 | 11 | ## Installation 12 | 13 | ```sh 14 | $ npm install unpipe 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var unpipe = require('unpipe') 21 | ``` 22 | 23 | ### unpipe(stream) 24 | 25 | Unpipes all destinations from a given stream. With stream 2+, this is 26 | equivalent to `stream.unpipe()`. When used with streams 1 style streams 27 | (typically Node.js 0.8 and below), this module attempts to undo the 28 | actions done in `stream.pipe(dest)`. 29 | 30 | ## License 31 | 32 | [MIT](LICENSE) 33 | 34 | [npm-image]: https://img.shields.io/npm/v/unpipe.svg 35 | [npm-url]: https://npmjs.org/package/unpipe 36 | [node-image]: https://img.shields.io/node/v/unpipe.svg 37 | [node-url]: http://nodejs.org/download/ 38 | [travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg 39 | [travis-url]: https://travis-ci.org/stream-utils/unpipe 40 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg 41 | [coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master 42 | [downloads-image]: https://img.shields.io/npm/dm/unpipe.svg 43 | [downloads-url]: https://npmjs.org/package/unpipe 44 | -------------------------------------------------------------------------------- /backend/node_modules/unpipe/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * unpipe 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = unpipe 15 | 16 | /** 17 | * Determine if there are Node.js pipe-like data listeners. 18 | * @private 19 | */ 20 | 21 | function hasPipeDataListeners(stream) { 22 | var listeners = stream.listeners('data') 23 | 24 | for (var i = 0; i < listeners.length; i++) { 25 | if (listeners[i].name === 'ondata') { 26 | return true 27 | } 28 | } 29 | 30 | return false 31 | } 32 | 33 | /** 34 | * Unpipe a stream from all destinations. 35 | * 36 | * @param {object} stream 37 | * @public 38 | */ 39 | 40 | function unpipe(stream) { 41 | if (!stream) { 42 | throw new TypeError('argument stream is required') 43 | } 44 | 45 | if (typeof stream.unpipe === 'function') { 46 | // new-style 47 | stream.unpipe() 48 | return 49 | } 50 | 51 | // Node.js 0.8 hack 52 | if (!hasPipeDataListeners(stream)) { 53 | return 54 | } 55 | 56 | var listener 57 | var listeners = stream.listeners('close') 58 | 59 | for (var i = 0; i < listeners.length; i++) { 60 | listener = listeners[i] 61 | 62 | if (listener.name !== 'cleanup' && listener.name !== 'onclose') { 63 | continue 64 | } 65 | 66 | // invoke the listener 67 | listener.call(stream) 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /backend/node_modules/array-flatten/README.md: -------------------------------------------------------------------------------- 1 | # Array Flatten 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![NPM downloads][downloads-image]][downloads-url] 5 | [![Build status][travis-image]][travis-url] 6 | [![Test coverage][coveralls-image]][coveralls-url] 7 | 8 | > Flatten an array of nested arrays into a single flat array. Accepts an optional depth. 9 | 10 | ## Installation 11 | 12 | ``` 13 | npm install array-flatten --save 14 | ``` 15 | 16 | ## Usage 17 | 18 | ```javascript 19 | var flatten = require('array-flatten') 20 | 21 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]) 22 | //=> [1, 2, 3, 4, 5, 6, 7, 8, 9] 23 | 24 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9], 2) 25 | //=> [1, 2, 3, [4, [5], 6], 7, 8, 9] 26 | 27 | (function () { 28 | flatten(arguments) //=> [1, 2, 3] 29 | })(1, [2, 3]) 30 | ``` 31 | 32 | ## License 33 | 34 | MIT 35 | 36 | [npm-image]: https://img.shields.io/npm/v/array-flatten.svg?style=flat 37 | [npm-url]: https://npmjs.org/package/array-flatten 38 | [downloads-image]: https://img.shields.io/npm/dm/array-flatten.svg?style=flat 39 | [downloads-url]: https://npmjs.org/package/array-flatten 40 | [travis-image]: https://img.shields.io/travis/blakeembrey/array-flatten.svg?style=flat 41 | [travis-url]: https://travis-ci.org/blakeembrey/array-flatten 42 | [coveralls-image]: https://img.shields.io/coveralls/blakeembrey/array-flatten.svg?style=flat 43 | [coveralls-url]: https://coveralls.io/r/blakeembrey/array-flatten?branch=master 44 | -------------------------------------------------------------------------------- /backend/node_modules/uuid/lib/rng-browser.js: -------------------------------------------------------------------------------- 1 | // Unique ID creation requires a high quality random # generator. In the 2 | // browser this is a little complicated due to unknown quality of Math.random() 3 | // and inconsistent support for the `crypto` API. We do the best we can via 4 | // feature-detection 5 | 6 | // getRandomValues needs to be invoked in a context where "this" is a Crypto 7 | // implementation. Also, find the complete implementation of crypto on IE11. 8 | var getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) || 9 | (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto)); 10 | 11 | if (getRandomValues) { 12 | // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto 13 | var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef 14 | 15 | module.exports = function whatwgRNG() { 16 | getRandomValues(rnds8); 17 | return rnds8; 18 | }; 19 | } else { 20 | // Math.random()-based (RNG) 21 | // 22 | // If all else fails, use Math.random(). It's fast, but is of unspecified 23 | // quality. 24 | var rnds = new Array(16); 25 | 26 | module.exports = function mathRNG() { 27 | for (var i = 0, r; i < 16; i++) { 28 | if ((i & 0x03) === 0) r = Math.random() * 0x100000000; 29 | rnds[i] = r >>> ((i & 0x03) << 3) & 0xff; 30 | } 31 | 32 | return rnds; 33 | }; 34 | } 35 | -------------------------------------------------------------------------------- /backend/node_modules/cookie-signature/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var crypto = require('crypto'); 6 | 7 | /** 8 | * Sign the given `val` with `secret`. 9 | * 10 | * @param {String} val 11 | * @param {String} secret 12 | * @return {String} 13 | * @api private 14 | */ 15 | 16 | exports.sign = function(val, secret){ 17 | if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); 18 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 19 | return val + '.' + crypto 20 | .createHmac('sha256', secret) 21 | .update(val) 22 | .digest('base64') 23 | .replace(/\=+$/, ''); 24 | }; 25 | 26 | /** 27 | * Unsign and decode the given `val` with `secret`, 28 | * returning `false` if the signature is invalid. 29 | * 30 | * @param {String} val 31 | * @param {String} secret 32 | * @return {String|Boolean} 33 | * @api private 34 | */ 35 | 36 | exports.unsign = function(val, secret){ 37 | if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided."); 38 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 39 | var str = val.slice(0, val.lastIndexOf('.')) 40 | , mac = exports.sign(str, secret); 41 | 42 | return sha1(mac) == sha1(val) ? str : false; 43 | }; 44 | 45 | /** 46 | * Private 47 | */ 48 | 49 | function sha1(str){ 50 | return crypto.createHash('sha1').update(str).digest('hex'); 51 | } 52 | -------------------------------------------------------------------------------- /backend/node_modules/utils-merge/README.md: -------------------------------------------------------------------------------- 1 | # utils-merge 2 | 3 | [![Version](https://img.shields.io/npm/v/utils-merge.svg?label=version)](https://www.npmjs.com/package/utils-merge) 4 | [![Build](https://img.shields.io/travis/jaredhanson/utils-merge.svg)](https://travis-ci.org/jaredhanson/utils-merge) 5 | [![Quality](https://img.shields.io/codeclimate/github/jaredhanson/utils-merge.svg?label=quality)](https://codeclimate.com/github/jaredhanson/utils-merge) 6 | [![Coverage](https://img.shields.io/coveralls/jaredhanson/utils-merge.svg)](https://coveralls.io/r/jaredhanson/utils-merge) 7 | [![Dependencies](https://img.shields.io/david/jaredhanson/utils-merge.svg)](https://david-dm.org/jaredhanson/utils-merge) 8 | 9 | 10 | Merges the properties from a source object into a destination object. 11 | 12 | ## Install 13 | 14 | ```bash 15 | $ npm install utils-merge 16 | ``` 17 | 18 | ## Usage 19 | 20 | ```javascript 21 | var a = { foo: 'bar' } 22 | , b = { bar: 'baz' }; 23 | 24 | merge(a, b); 25 | // => { foo: 'bar', bar: 'baz' } 26 | ``` 27 | 28 | ## License 29 | 30 | [The MIT License](http://opensource.org/licenses/MIT) 31 | 32 | Copyright (c) 2013-2017 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> 33 | 34 | Sponsor 35 | -------------------------------------------------------------------------------- /backend/node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * merge-descriptors 3 | * Copyright(c) 2014 Jonathan Ong 4 | * Copyright(c) 2015 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | 'use strict' 9 | 10 | /** 11 | * Module exports. 12 | * @public 13 | */ 14 | 15 | module.exports = merge 16 | 17 | /** 18 | * Module variables. 19 | * @private 20 | */ 21 | 22 | var hasOwnProperty = Object.prototype.hasOwnProperty 23 | 24 | /** 25 | * Merge the property descriptors of `src` into `dest` 26 | * 27 | * @param {object} dest Object to add descriptors to 28 | * @param {object} src Object to clone descriptors from 29 | * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties 30 | * @returns {object} Reference to dest 31 | * @public 32 | */ 33 | 34 | function merge(dest, src, redefine) { 35 | if (!dest) { 36 | throw new TypeError('argument dest is required') 37 | } 38 | 39 | if (!src) { 40 | throw new TypeError('argument src is required') 41 | } 42 | 43 | if (redefine === undefined) { 44 | // Default to true 45 | redefine = true 46 | } 47 | 48 | Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) { 49 | if (!redefine && hasOwnProperty.call(dest, name)) { 50 | // Skip desriptor 51 | return 52 | } 53 | 54 | // Copy descriptor 55 | var descriptor = Object.getOwnPropertyDescriptor(src, name) 56 | Object.defineProperty(dest, name, descriptor) 57 | }) 58 | 59 | return dest 60 | } 61 | -------------------------------------------------------------------------------- /backend/node_modules/array-flatten/array-flatten.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** 4 | * Expose `arrayFlatten`. 5 | */ 6 | module.exports = arrayFlatten 7 | 8 | /** 9 | * Recursive flatten function with depth. 10 | * 11 | * @param {Array} array 12 | * @param {Array} result 13 | * @param {Number} depth 14 | * @return {Array} 15 | */ 16 | function flattenWithDepth (array, result, depth) { 17 | for (var i = 0; i < array.length; i++) { 18 | var value = array[i] 19 | 20 | if (depth > 0 && Array.isArray(value)) { 21 | flattenWithDepth(value, result, depth - 1) 22 | } else { 23 | result.push(value) 24 | } 25 | } 26 | 27 | return result 28 | } 29 | 30 | /** 31 | * Recursive flatten function. Omitting depth is slightly faster. 32 | * 33 | * @param {Array} array 34 | * @param {Array} result 35 | * @return {Array} 36 | */ 37 | function flattenForever (array, result) { 38 | for (var i = 0; i < array.length; i++) { 39 | var value = array[i] 40 | 41 | if (Array.isArray(value)) { 42 | flattenForever(value, result) 43 | } else { 44 | result.push(value) 45 | } 46 | } 47 | 48 | return result 49 | } 50 | 51 | /** 52 | * Flatten an array, with the ability to define a depth. 53 | * 54 | * @param {Array} array 55 | * @param {Number} depth 56 | * @return {Array} 57 | */ 58 | function arrayFlatten (array, depth) { 59 | if (depth == null) { 60 | return flattenForever(array, []) 61 | } 62 | 63 | return flattenWithDepth(array, [], depth) 64 | } 65 | --------------------------------------------------------------------------------