├── .atom-build.json
├── .babelrc
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── client
├── app
│ ├── _scrap
│ │ ├── dyna_form.html
│ │ ├── modules
│ │ │ ├── annotations.ts
│ │ │ ├── index.ts
│ │ │ ├── login-buttons-template.html
│ │ │ ├── login-buttons.less
│ │ │ └── login-buttons.ts
│ │ ├── parties-form
│ │ │ ├── parties-form.html
│ │ │ └── parties-form.ts
│ │ ├── parties-list
│ │ │ ├── _parties-list.scss
│ │ │ ├── parties-list.html
│ │ │ └── parties-list.ts
│ │ ├── party-details
│ │ │ ├── _party-details.scss
│ │ │ ├── party-details.html
│ │ │ └── party-details.ts
│ │ ├── prd
│ │ │ ├── prd-detail.component.ts
│ │ │ └── prd-root.component.ts
│ │ ├── product1
│ │ │ ├── product-details.html
│ │ │ ├── product-list.component.ts
│ │ │ ├── product-list.html
│ │ │ ├── product.component.ts
│ │ │ ├── product.service.ts
│ │ │ └── products.reducer.ts
│ │ ├── register
│ │ │ ├── register.component.ts
│ │ │ ├── register.html
│ │ │ └── register.service.ts
│ │ └── unused
│ │ │ ├── app.1.html
│ │ │ ├── app1.component.ts
│ │ │ ├── apps.ts
│ │ │ └── index1.ts
│ ├── about
│ │ ├── about.component.ts
│ │ ├── about.spec.ts
│ │ └── index.ts
│ ├── app.component.e2e.ts
│ ├── app.component.spec.ts
│ ├── app.component.ts
│ ├── app.html
│ ├── app.map.html
│ ├── app.service.ts
│ ├── app.side.nav.html
│ ├── app.side.nav2.html
│ ├── app.side.nav3.html
│ ├── app.store.ts
│ ├── auth
│ │ ├── recover.html
│ │ ├── recover.ts
│ │ ├── signin.component.ts
│ │ ├── signin.html
│ │ ├── signup.component.ts
│ │ ├── signup.html
│ │ └── user.service.ts
│ ├── browser
│ │ ├── app
│ │ │ └── app.html
│ │ ├── auth
│ │ │ ├── login.html
│ │ │ └── login.ts
│ │ ├── package.js
│ │ └── socially-browser.ts
│ ├── cart
│ │ ├── details.component.ts
│ │ ├── details.html
│ │ ├── line.component.ts
│ │ ├── line.html
│ │ ├── list.component.ts
│ │ └── list.html
│ ├── client
│ │ └── imports
│ │ │ ├── auth
│ │ │ ├── recover.html
│ │ │ ├── recover.ts
│ │ │ ├── signup.html
│ │ │ └── signup.ts
│ │ │ ├── parties-form
│ │ │ ├── parties-form.html
│ │ │ └── parties-form.ts
│ │ │ ├── parties-list
│ │ │ ├── _parties-list.scss
│ │ │ ├── parties-list.html
│ │ │ └── parties-list.ts
│ │ │ ├── party-details
│ │ │ ├── _party-details.scss
│ │ │ ├── party-details.html
│ │ │ └── party-details.ts
│ │ │ └── pipes
│ │ │ └── pipes.ts
│ ├── components - Copy
│ │ ├── map-auto.css
│ │ ├── map-auto.html
│ │ ├── map-auto.test.html
│ │ ├── map-auto.ts
│ │ ├── md-dropdown.component.ts
│ │ ├── md-dropdown.css
│ │ ├── md-dropdown.html
│ │ ├── rating.component.ts
│ │ └── rating.html
│ ├── components
│ │ ├── map-auto.css
│ │ ├── map-auto.html
│ │ ├── map-auto.test.html
│ │ ├── map-auto.ts
│ │ ├── md-dropdown.component.ts
│ │ ├── md-dropdown.css
│ │ ├── md-dropdown.html
│ │ ├── rating.component.ts
│ │ └── rating.html
│ ├── css
│ │ ├── main.css
│ │ └── main.scss
│ ├── demo
│ │ ├── demo.html
│ │ ├── demo.ts
│ │ ├── file-upload.back.js
│ │ ├── file-upload.html
│ │ └── file-upload.ts
│ ├── environment.ts
│ ├── home
│ │ ├── directives
│ │ │ └── x-large
│ │ │ │ ├── index.ts
│ │ │ │ ├── x-large.directive.ts
│ │ │ │ └── x-large.spec.ts
│ │ ├── faq.html
│ │ ├── home.component.e2e.ts
│ │ ├── home.component.spec.ts
│ │ ├── home.component.ts
│ │ ├── home.css
│ │ ├── home.html
│ │ ├── home1.html
│ │ ├── home2html.html
│ │ ├── home_2.html
│ │ ├── home_parallex.html
│ │ ├── index.ts
│ │ └── services
│ │ │ └── title
│ │ │ ├── index.ts
│ │ │ ├── title.service.spec.ts
│ │ │ └── title.service.ts
│ ├── imports
│ │ ├── auth
│ │ │ ├── recover.html
│ │ │ ├── recover.ts
│ │ │ ├── signup.html
│ │ │ └── signup.ts
│ │ ├── parties-form
│ │ │ ├── parties-form.html
│ │ │ └── parties-form.ts
│ │ ├── parties-list
│ │ │ ├── _parties-list.scss
│ │ │ ├── parties-list.html
│ │ │ └── parties-list.ts
│ │ ├── party-details
│ │ │ ├── _party-details.scss
│ │ │ ├── party-details.html
│ │ │ └── party-details.ts
│ │ └── pipes
│ │ │ └── pipes.ts
│ ├── index.ts
│ ├── m.html
│ ├── material-demo
│ │ ├── material2-app.component.css
│ │ ├── material2-app.component.html
│ │ └── material2-app.component.ts
│ ├── mobile
│ │ ├── app
│ │ │ └── app.html
│ │ ├── auth
│ │ │ ├── login.html
│ │ │ └── login.ts
│ │ ├── package.js
│ │ └── socially-mobile.ts
│ ├── note.1.txt
│ ├── note.txt
│ ├── orders
│ │ ├── add.component.ts
│ │ ├── add.html
│ │ ├── line.component.ts
│ │ ├── line.html
│ │ ├── list.component.ts
│ │ ├── list.html
│ │ ├── note.txt
│ │ ├── results.component.ts
│ │ ├── results.html
│ │ ├── search.component.ts
│ │ ├── search.html
│ │ ├── shop.component.ts
│ │ ├── shop.html
│ │ └── shop.service.ts
│ ├── pipes
│ │ └── pipes.ts
│ ├── product
│ │ ├── add.component.ts
│ │ ├── add.html
│ │ ├── details.component.ts
│ │ ├── details.html
│ │ ├── line.component.ts
│ │ ├── line.html
│ │ ├── list.component.ts
│ │ ├── list.html
│ │ ├── note.txt
│ │ ├── plist.component.ts
│ │ ├── plist.html
│ │ ├── product.component.ts
│ │ ├── product.html
│ │ └── product.service.ts
│ ├── products
│ │ ├── product-details.component.ts
│ │ ├── product-details.html
│ │ ├── product-list.component.ts
│ │ ├── product-list.html
│ │ ├── product.service.ts
│ │ ├── product.store.ts
│ │ ├── products.component.ts
│ │ ├── products.html
│ │ ├── products.reducer.ts
│ │ ├── products.spec.ts
│ │ └── selected-product.reducer.ts
│ ├── profile
│ │ ├── avatar.component.ts
│ │ ├── avatar.html
│ │ ├── profile.component.ts
│ │ └── profile.html
│ ├── services
│ │ ├── auth.service.ts
│ │ ├── authentication.service.ts
│ │ └── shared.service.ts
│ ├── shared
│ │ ├── components
│ │ │ └── accordion
│ │ │ │ ├── accordion-group.component.ts
│ │ │ │ ├── accordion-group.html
│ │ │ │ └── accordion.component.ts
│ │ └── directives
│ │ │ └── router-active
│ │ │ ├── index.ts
│ │ │ └── router-active.directive.ts
│ ├── shop-backup
│ │ ├── add.component.ts
│ │ ├── add.html
│ │ ├── line.component.ts
│ │ ├── line.html
│ │ ├── list.component.ts
│ │ ├── list.html
│ │ ├── note.txt
│ │ ├── results.component.ts
│ │ ├── results.html
│ │ ├── search.component.ts
│ │ ├── search.html
│ │ ├── shop.component.ts
│ │ ├── shop.html
│ │ └── shop.service.ts
│ ├── shop
│ │ ├── add.component.ts
│ │ ├── add_edit.html
│ │ ├── line.component.ts
│ │ ├── line.html
│ │ ├── list.component.ts
│ │ ├── list.html
│ │ ├── note.txt
│ │ ├── results.component.ts
│ │ ├── results.html
│ │ ├── search.component.ts
│ │ ├── search.html
│ │ ├── shop.component.ts
│ │ ├── shop.html
│ │ └── shop.service.ts
│ ├── test
│ │ ├── test - Copy.html
│ │ ├── test.html
│ │ └── test.ts
│ └── window.service.ts
├── assets
│ ├── background3.jpg
│ ├── css
│ │ ├── .gitkeep
│ │ ├── materialize.css
│ │ ├── materialize.min.css
│ │ └── style.css
│ ├── data.json
│ ├── humans.txt
│ ├── icon
│ │ ├── android-icon-144x144.png
│ │ ├── android-icon-192x192.png
│ │ ├── android-icon-36x36.png
│ │ ├── android-icon-48x48.png
│ │ ├── android-icon-72x72.png
│ │ ├── android-icon-96x96.png
│ │ ├── apple-icon-114x114.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-144x144.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-180x180.png
│ │ ├── apple-icon-57x57.png
│ │ ├── apple-icon-60x60.png
│ │ ├── apple-icon-72x72.png
│ │ ├── apple-icon-76x76.png
│ │ ├── apple-icon-precomposed.png
│ │ ├── apple-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── manifest.json
│ │ ├── ms-icon-144x144.png
│ │ ├── ms-icon-150x150.png
│ │ ├── ms-icon-310x310.png
│ │ └── ms-icon-70x70.png
│ ├── img
│ │ ├── angular-logo.png
│ │ ├── background1.jpg
│ │ └── background2.jpg
│ ├── manifest.json
│ ├── robots.txt
│ └── service-worker.js
├── custom-typings.d.ts
├── index.html
├── main.browser.ts
├── platform
│ ├── browser
│ │ ├── angular2-material2
│ │ │ └── index.ts
│ │ ├── directives.ts
│ │ ├── index.ts
│ │ ├── pipes.ts
│ │ └── providers.ts
│ └── environment.ts
├── polyfills.ts
├── sass
│ ├── README.md
│ ├── abstracts
│ │ ├── README.md
│ │ ├── _functions.scss
│ │ ├── _mixins.scss
│ │ └── _variables.scss
│ ├── base
│ │ ├── README.MD
│ │ ├── _base.scss
│ │ ├── _fonts.scss
│ │ ├── _helpers.scss
│ │ └── _typography.scss
│ ├── components
│ │ ├── README.MD
│ │ └── _button.scss
│ ├── layout
│ │ ├── README.MD
│ │ ├── _footer.scss
│ │ └── _header.scss
│ ├── main.scss
│ ├── pages
│ │ ├── README.MD
│ │ └── _home.scss
│ ├── themes
│ │ ├── README.MD
│ │ └── _default.scss
│ └── vendor
│ │ ├── README.md
│ │ └── _normalize.scss
└── vendor.ts
├── config
├── config.json
├── env.conf.js
├── gulpfile.conf.js
├── helpers.js
├── karma.conf.js
├── mongoose.conf.js
├── passport.conf.js
├── protractor.conf.js
├── spec-bundle.js
├── webpack.common.js
├── webpack.dev.js
├── webpack.prod.config.js
└── webpack.test.config.js
├── css
├── main.css
└── main.scss
├── dist
├── 1.chunk.js
├── 1.map
├── assets
│ ├── background3.jpg
│ ├── css
│ │ ├── .gitkeep
│ │ ├── materialize.css
│ │ ├── materialize.min.css
│ │ └── style.css
│ ├── data.json
│ ├── humans.txt
│ ├── icon
│ │ ├── android-icon-144x144.png
│ │ ├── android-icon-192x192.png
│ │ ├── android-icon-36x36.png
│ │ ├── android-icon-48x48.png
│ │ ├── android-icon-72x72.png
│ │ ├── android-icon-96x96.png
│ │ ├── apple-icon-114x114.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-144x144.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-180x180.png
│ │ ├── apple-icon-57x57.png
│ │ ├── apple-icon-60x60.png
│ │ ├── apple-icon-72x72.png
│ │ ├── apple-icon-76x76.png
│ │ ├── apple-icon-precomposed.png
│ │ ├── apple-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── manifest.json
│ │ ├── ms-icon-144x144.png
│ │ ├── ms-icon-150x150.png
│ │ ├── ms-icon-310x310.png
│ │ └── ms-icon-70x70.png
│ ├── img
│ │ ├── angular-logo.png
│ │ ├── background1.jpg
│ │ └── background2.jpg
│ ├── manifest.json
│ ├── robots.txt
│ └── service-worker.js
├── index.html
├── main.bundle.js
├── main.map
├── polyfills.bundle.js
├── polyfills.map
├── vendor.bundle.js
└── vendor.map
├── dist1
├── 1.chunk.js
├── 1.map
├── 103617440ccde3a84bd8.hot-update.json
├── 2b923bab97c373c6043b.hot-update.json
├── 2d26e88fd8539e698fdd.hot-update.json
├── 3.103617440ccde3a84bd8.hot-update.js
├── 3.2b923bab97c373c6043b.hot-update.js
├── 3.2d26e88fd8539e698fdd.hot-update.js
├── 3.4821b3479033d1d22179.hot-update.js
├── 3.4aa6c303c9d6c32a6b38.hot-update.js
├── 3.5d4acfbfc816f9827e4b.hot-update.js
├── 3.62ef9f24e9476f081e76.hot-update.js
├── 3.67564e9bc16e65111259.hot-update.js
├── 3.7b045091e9b6c217ae92.hot-update.js
├── 3.96306d79aaa42d8606fa.hot-update.js
├── 3.acb9c4e2745d709a4a54.hot-update.js
├── 3.c354a13d4f19342e344f.hot-update.js
├── 3.ca139a2b30561404fa96.hot-update.js
├── 3.ccd20ce345c6dc19943c.hot-update.js
├── 3.d097472af7dc34f8dca6.hot-update.js
├── 3.df945e836672ad323341.hot-update.js
├── 3.e03a8815bc1dbac89a15.hot-update.js
├── 3.f9a635e8495ff4175d9b.hot-update.js
├── 3.f9f23b807bd50505ab21.hot-update.js
├── 4821b3479033d1d22179.hot-update.json
├── 4aa6c303c9d6c32a6b38.hot-update.json
├── 5d4acfbfc816f9827e4b.hot-update.json
├── 62ef9f24e9476f081e76.hot-update.json
├── 67564e9bc16e65111259.hot-update.json
├── 7b045091e9b6c217ae92.hot-update.json
├── 96306d79aaa42d8606fa.hot-update.json
├── LICENSE
├── acb9c4e2745d709a4a54.hot-update.json
├── assets
│ ├── css
│ │ └── .gitkeep
│ ├── data.json
│ ├── humans.txt
│ ├── icon
│ │ ├── android-icon-144x144.png
│ │ ├── android-icon-192x192.png
│ │ ├── android-icon-36x36.png
│ │ ├── android-icon-48x48.png
│ │ ├── android-icon-72x72.png
│ │ ├── android-icon-96x96.png
│ │ ├── apple-icon-114x114.png
│ │ ├── apple-icon-120x120.png
│ │ ├── apple-icon-144x144.png
│ │ ├── apple-icon-152x152.png
│ │ ├── apple-icon-180x180.png
│ │ ├── apple-icon-57x57.png
│ │ ├── apple-icon-60x60.png
│ │ ├── apple-icon-72x72.png
│ │ ├── apple-icon-76x76.png
│ │ ├── apple-icon-precomposed.png
│ │ ├── apple-icon.png
│ │ ├── browserconfig.xml
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── manifest.json
│ │ ├── ms-icon-144x144.png
│ │ ├── ms-icon-150x150.png
│ │ ├── ms-icon-310x310.png
│ │ └── ms-icon-70x70.png
│ ├── img
│ │ └── angular-logo.png
│ ├── manifest.json
│ ├── robots.txt
│ └── service-worker.js
├── background1.jpg
├── background2.jpg
├── background3.jpg
├── c354a13d4f19342e344f.hot-update.json
├── ca139a2b30561404fa96.hot-update.json
├── ccd20ce345c6dc19943c.hot-update.json
├── css
│ ├── materialize.css
│ ├── materialize.min.css
│ └── style.css
├── d097472af7dc34f8dca6.hot-update.json
├── df945e836672ad323341.hot-update.json
├── e03a8815bc1dbac89a15.hot-update.json
├── f9a635e8495ff4175d9b.hot-update.json
├── f9f23b807bd50505ab21.hot-update.json
├── font
│ ├── material-design-icons
│ │ ├── LICENSE.txt
│ │ ├── Material-Design-Icons.eot
│ │ ├── Material-Design-Icons.svg
│ │ ├── Material-Design-Icons.ttf
│ │ ├── Material-Design-Icons.woff
│ │ └── Material-Design-Icons.woff2
│ └── roboto
│ │ ├── Roboto-Bold.eot
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Bold.woff
│ │ ├── Roboto-Bold.woff2
│ │ ├── Roboto-Light.eot
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Light.woff
│ │ ├── Roboto-Light.woff2
│ │ ├── Roboto-Medium.eot
│ │ ├── Roboto-Medium.ttf
│ │ ├── Roboto-Medium.woff
│ │ ├── Roboto-Medium.woff2
│ │ ├── Roboto-Regular.eot
│ │ ├── Roboto-Regular.ttf
│ │ ├── Roboto-Regular.woff
│ │ ├── Roboto-Regular.woff2
│ │ ├── Roboto-Thin.eot
│ │ ├── Roboto-Thin.ttf
│ │ ├── Roboto-Thin.woff
│ │ └── Roboto-Thin.woff2
├── fonts
│ └── roboto
│ │ ├── Roboto-Bold.eot
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Bold.woff
│ │ ├── Roboto-Bold.woff2
│ │ ├── Roboto-Light.eot
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Light.woff
│ │ ├── Roboto-Light.woff2
│ │ ├── Roboto-Medium.eot
│ │ ├── Roboto-Medium.ttf
│ │ ├── Roboto-Medium.woff
│ │ ├── Roboto-Medium.woff2
│ │ ├── Roboto-Regular.eot
│ │ ├── Roboto-Regular.ttf
│ │ ├── Roboto-Regular.woff
│ │ ├── Roboto-Regular.woff2
│ │ ├── Roboto-Thin.eot
│ │ ├── Roboto-Thin.ttf
│ │ ├── Roboto-Thin.woff
│ │ └── Roboto-Thin.woff2
├── index.html
├── js
│ ├── init.js
│ ├── materialize.js
│ └── materialize.min.js
├── main.bundle.js
├── main.map
├── pindex.html
├── polyfills.bundle.js
├── polyfills.map
├── vendor.bundle.js
└── vendor.map
├── gulpfile.js
├── karma.conf.js
├── ngnix.txt
├── note.txt
├── note_private.txt
├── notes
└── email.txt
├── package.json
├── parallex
├── LICENSE
├── background1.jpg
├── background2.jpg
├── background3.jpg
├── css
│ ├── materialize.css
│ ├── materialize.min.css
│ └── style.css
├── font
│ ├── material-design-icons
│ │ ├── LICENSE.txt
│ │ ├── Material-Design-Icons.eot
│ │ ├── Material-Design-Icons.svg
│ │ ├── Material-Design-Icons.ttf
│ │ ├── Material-Design-Icons.woff
│ │ └── Material-Design-Icons.woff2
│ └── roboto
│ │ ├── Roboto-Bold.eot
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Bold.woff
│ │ ├── Roboto-Bold.woff2
│ │ ├── Roboto-Light.eot
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Light.woff
│ │ ├── Roboto-Light.woff2
│ │ ├── Roboto-Medium.eot
│ │ ├── Roboto-Medium.ttf
│ │ ├── Roboto-Medium.woff
│ │ ├── Roboto-Medium.woff2
│ │ ├── Roboto-Regular.eot
│ │ ├── Roboto-Regular.ttf
│ │ ├── Roboto-Regular.woff
│ │ ├── Roboto-Regular.woff2
│ │ ├── Roboto-Thin.eot
│ │ ├── Roboto-Thin.ttf
│ │ ├── Roboto-Thin.woff
│ │ └── Roboto-Thin.woff2
├── fonts
│ └── roboto
│ │ ├── Roboto-Bold.eot
│ │ ├── Roboto-Bold.ttf
│ │ ├── Roboto-Bold.woff
│ │ ├── Roboto-Bold.woff2
│ │ ├── Roboto-Light.eot
│ │ ├── Roboto-Light.ttf
│ │ ├── Roboto-Light.woff
│ │ ├── Roboto-Light.woff2
│ │ ├── Roboto-Medium.eot
│ │ ├── Roboto-Medium.ttf
│ │ ├── Roboto-Medium.woff
│ │ ├── Roboto-Medium.woff2
│ │ ├── Roboto-Regular.eot
│ │ ├── Roboto-Regular.ttf
│ │ ├── Roboto-Regular.woff
│ │ ├── Roboto-Regular.woff2
│ │ ├── Roboto-Thin.eot
│ │ ├── Roboto-Thin.ttf
│ │ ├── Roboto-Thin.woff
│ │ └── Roboto-Thin.woff2
├── js
│ ├── init.js
│ ├── materialize.js
│ └── materialize.min.js
└── pindex.html
├── protractor.conf.js
├── rr.txt
├── scrap
├── client
│ ├── index.html
│ ├── main.js
│ └── partials
│ │ └── home.html
├── client11
│ ├── app.ts
│ ├── css
│ │ ├── main.css
│ │ └── main.scss
│ ├── imports
│ │ ├── auth
│ │ │ ├── recover.html
│ │ │ ├── recover.ts
│ │ │ ├── signup.html
│ │ │ └── signup.ts
│ │ ├── parties-form
│ │ │ ├── parties-form.html
│ │ │ └── parties-form.ts
│ │ ├── parties-list
│ │ │ ├── _parties-list.scss
│ │ │ ├── parties-list.html
│ │ │ └── parties-list.ts
│ │ ├── party-details
│ │ │ ├── _party-details.scss
│ │ │ ├── party-details.html
│ │ │ └── party-details.ts
│ │ └── pipes
│ │ │ └── pipes.ts
│ └── index.html
├── imports
│ ├── auth
│ │ ├── recover.html
│ │ ├── recover.ts
│ │ ├── signup.html
│ │ └── signup.ts
│ ├── parties-form
│ │ ├── parties-form.html
│ │ └── parties-form.ts
│ ├── parties-list
│ │ ├── _parties-list.scss
│ │ ├── parties-list.html
│ │ └── parties-list.ts
│ ├── party-details
│ │ ├── _party-details.scss
│ │ ├── party-details.html
│ │ └── party-details.ts
│ └── pipes
│ │ └── pipes.ts
└── server
│ ├── app.js
│ ├── models
│ └── user.js
│ ├── routes
│ └── api.js
│ └── server.js
├── server.conf.js
├── server.js
├── server.main.js
├── server
├── models
│ ├── cart.model.js
│ ├── order.model.js
│ ├── order_items.model.js
│ ├── product.model.js
│ ├── shop.model.js
│ └── user.model.js
├── routes.js
├── routes
│ ├── auth.router.js
│ ├── cart.router.js
│ ├── order.router.js
│ ├── product.router.js
│ ├── shop.router.js
│ └── user.router.js
└── tests
│ ├── leopard.model.spec.js
│ ├── product.model.spec.js
│ └── shop.model.spec.js
├── sockets
└── base.js
├── test
├── mocha.opts
├── recipe.model.spec.js
├── todo.model.spec.js
└── utils.js
├── tsconfig.json
├── tslint.json
├── typedoc.json
├── typings.json
├── uploads
├── 9243f3325c5649d7c1965a85e4c481b91465770346085.jpeg
├── 9243f3325c5649d7c1965a85e4c481b91465770346085.jpeg.t.jpg
├── a.jpeg
├── cb395f6dee6ac15e834f6b2d5a760aea1465770205672.jpeg
├── cb395f6dee6ac15e834f6b2d5a760aea1465770205672.jpeg.t.jpg
└── thumbnail.jpg
├── vulgar.json
└── webpack.config.js
/.atom-build.json:
--------------------------------------------------------------------------------
1 | {
2 | "cmd": "npm start",
3 | "name": "default",
4 | "targets": {
5 | "webpack-dev-server--hmr": {
6 | "cmd": "npm start"
7 | },
8 | "build:dev": {
9 | "cmd": "npm run build:dev"
10 | },
11 | "build:prod": {
12 | "cmd": "npm run build:prod"
13 | },
14 | "build:docs": {
15 | "cmd": "gulp build:docs"
16 | },
17 | "test": {
18 | "cmd": "npm test"
19 | },
20 | "watch:test": {
21 | "cmd": "npm run watch:test"
22 | },
23 | "e2e": {
24 | "cmd": "npm run e2e"
25 | },
26 | "server:prod": {
27 | "cmd": "npm run server:prod"
28 | },
29 | "watch:dev": {
30 | "cmd": "npm run watch:dev"
31 | },
32 | "watch:prod": {
33 | "cmd": "npm run watch:prod"
34 | },
35 | "watch:dev": {
36 | "cmd": "npm run watch:dev"
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [],
3 | "presets" : ['es2015', 'stage-0', 'react']
4 | }
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # @datatypevoid
2 | # http://editorconfig.org
3 |
4 | root = true
5 |
6 | [*]
7 | charset = utf-8
8 | indent_style = space
9 | indent_size = 2
10 | end_of_line = lf
11 | insert_final_newline = true
12 | trim_trailing_whitespace = true
13 |
14 | [*.md]
15 | insert_final_newline = false
16 | trim_trailing_whitespace = false
17 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - node
4 | - "5"
5 | - "4"
6 | sudo: false
7 | branches:
8 | only:
9 | - master
10 | script: npm test
11 | notifications:
12 | slack: vulgardisplayofpower:RQzt5qlhpuN4caO9OavVbmoi
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 nawalgupta
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 |
--------------------------------------------------------------------------------
/client/app/_scrap/modules/index.ts:
--------------------------------------------------------------------------------
1 | export * from './login-buttons';
2 | export * from './annotations';
--------------------------------------------------------------------------------
/client/app/_scrap/parties-form/parties-form.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/client/app/_scrap/parties-list/_parties-list.scss:
--------------------------------------------------------------------------------
1 | .new-party-form-container {
2 | margin: 20px;
3 | border: 1px gainsboro solid;
4 | }
5 | .ma-parties-list {
6 | .sebm-google-map {
7 | box-sizing: border-box;
8 | -webkit-flex: 1;
9 | -ms-flex: 1;
10 | flex: 1;
11 | -webkit-flex-direction: row;
12 | -ms-flex-direction: row;
13 | flex-direction: row;
14 | box-sizing: border-box;
15 | display: -webkit-flex;
16 | display: -ms-flexbox;
17 | display: flex;
18 | }
19 |
20 | .angular-google-map-container {
21 | box-sizing: border-box;
22 | -webkit-flex: 1;
23 | -ms-flex: 1;
24 | flex: 1;
25 | }
26 |
27 | .rsvps-sum {
28 | float: left;
29 | width: 50px;
30 | text-align: center;
31 | .rsvps-amount {
32 | font-size: 24px;
33 | }
34 | .rsvps-title {
35 | font-size: 13px;
36 | color: #aaa;
37 | }
38 | }
39 |
40 | .ma-party {
41 | .party-image {
42 | background-size: cover;
43 | width: 100%;
44 | height: 200px;
45 | }
46 |
47 | .ma-name {
48 | a {
49 | text-decoration: none;
50 | color: #333;
51 | }
52 | }
53 | .ma-description {
54 |
55 | }
56 | }
57 | }
58 |
59 | .search-form {
60 | margin-bottom: 1em;
61 | }
--------------------------------------------------------------------------------
/client/app/_scrap/party-details/_party-details.scss:
--------------------------------------------------------------------------------
1 | .ma-party-details-container {
2 | padding: 20px;
3 |
4 | .angular-google-map-container {
5 | width: 100%;
6 | height: 100%;
7 | }
8 |
9 | .angular-google-map {
10 | width: 100%;
11 | height: 400px;
12 | }
13 |
14 | .ma-map-title {
15 | font-size: 16px;
16 | font-weight: bolder;
17 | }
18 |
19 | .ma-invite-list {
20 | margin-top: 20px;
21 | margin-bottom: 20px;
22 |
23 | h3 {
24 | font-size: 16px;
25 | font-weight: bolder;
26 | }
27 |
28 | ul {
29 | padding: 0;
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/client/app/_scrap/prd/prd-root.component.ts:
--------------------------------------------------------------------------------
1 | // This file contains the main class as well as the necessary
2 | // decorators for creating the `PrdRoot` `component`
3 |
4 | /*
5 | * Angular 2 decorators and services
6 | */
7 | //import {Component} from '@@angularcore';
8 |
9 |
10 | import {Component,
11 | Input,
12 | Output,
13 | EventEmitter,
14 | ChangeDetectionStrategy} from '@angular/core';
15 |
16 | //import {RouteConfig, Router, RouterOutlet} from '@angular/router';
17 | import {RouteConfig, Router} from '@angular/router-deprecated';
18 |
19 | import {PrdListComponent} from './prd-list.component';
20 | import {PrdDetailComponent} from './prd-detail.component';
21 | import {PrdService} from './prd.service';
22 |
23 | /*
24 | * Prd
25 | * Root Component
26 | */
27 | @Component({
28 | providers: [PrdService],
29 | directives: [RouterOutlet],
30 | // Every Angular template is first compiled by the browser before Angular runs it's compiler
31 | template: ``
32 | })
33 | @RouteConfig([
34 | {path:'/', name: 'PrdList', component: PrdListComponent, useAsDefault: true},
35 | {path:'/:id', name: 'PrdDetail', component: PrdDetailComponent}
36 | ])
37 | export class PrdRoot {
38 |
39 | constructor() {
40 |
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/client/app/_scrap/product1/product-list.component.ts:
--------------------------------------------------------------------------------
1 | // ```
2 | // product-list.component.js
3 | // (c) 2016 David Newman
4 | // blackshuriken@hotmail.com
5 | // product-list.component.js may be freely distributed under the MIT license
6 | // ```
7 |
8 | // # Product List
9 |
10 | import {Component,
11 | Input,
12 | Output,
13 | EventEmitter,
14 | ChangeDetectionStrategy} from '@angular/core';
15 |
16 | import {Observable} from 'rxjs/Observable';
17 | import {Store} from '@ngrx/store';
18 |
19 | import {ProductService} from './product.service';
20 | import {Product} from './product.store';
21 | import {AppStore} from '../app.store';
22 |
23 | import {Rating} from './rating.component';
24 |
25 | @Component({
26 | selector: 'product-list',
27 | template: require('./product-list.html'),
28 | directives: [Rating]
29 | })
30 | export class ProductList {
31 | // The `product` component hands off `products` and `selectedproduct`
32 | // via property bindings to its child components
33 | // Here we pick up the `products` collection by annotating our local
34 | // `products` property with `@Input()`
35 | @Input() products: Product[];
36 | // Two event outputs for when a product is selected or deleted
37 | @Output() selected = new EventEmitter();
38 | @Output() deleted = new EventEmitter();
39 | }
40 |
--------------------------------------------------------------------------------
/client/app/_scrap/product1/product-list.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
{{product.title}}
5 |
6 |
7 | -
8 |
9 | #{{tag.name}}
10 |
11 |
12 |
13 |
14 |
15 | {{product.rating}}
16 |
17 |
18 | {{product.creator}}
19 |
20 |
21 | {{product.description}}
22 |
23 |
24 | -
25 | {{ ingredient.amount }} {{ ingredient.unit}} {{ ingredient.name }}
26 |
27 |
28 |
29 | -
30 | {{ direction.step }}
31 |
32 |
33 |
34 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/client/app/_scrap/product1/product.component.ts:
--------------------------------------------------------------------------------
1 | // This file contains the main class as well as the necessary
2 | // decorators for creating the `Product` component
3 |
4 | /*
5 | * Angular 2 decorators and services
6 | */
7 | //import {Component} from '@angularcore';
8 |
9 | import {Component,
10 | Input,
11 | Output,
12 | EventEmitter,
13 | ChangeDetectionStrategy} from '@angular/core';
14 | /*
15 | * Product
16 | * Component
17 | */
18 | @Component({
19 | selector: 'product',
20 | // Every Angular template is first compiled by the browser before Angular runs it's compiler
21 | template: require('./product.component.html'),
22 | // Load our main `Sass` file into our `Product` component
23 | //styleUrls: [require('!style!css!sass!./product.component.scss')],
24 | providers: [],
25 | directives: [],
26 | pipes: []
27 | })
28 |
29 | export class Product {
30 |
31 | constructor() {}
32 | }
33 |
--------------------------------------------------------------------------------
/client/app/_scrap/register/register.component.ts:
--------------------------------------------------------------------------------
1 | import {Component} from '@angular/core';
2 |
3 | import {RegisterService} from './register.service';
4 |
5 | import {HTTP_PROVIDERS} from '@angular/http';
6 |
7 | @Component({
8 | selector: 'register',
9 | providers: [HTTP_PROVIDERS, RegisterService],
10 | template: require('./register.html')
11 | })
12 |
13 | export class Register {
14 | public email='';
15 | public password='';
16 | public user= {
17 | email:'',
18 | password:''
19 |
20 | };
21 |
22 | submit(){
23 |
24 |
25 | }
26 |
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/client/app/_scrap/register/register.html:
--------------------------------------------------------------------------------
1 |
2 |
9 | Register
10 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/client/app/_scrap/register/register.service.ts:
--------------------------------------------------------------------------------
1 | import {Injectable} from '@angular/core';
2 | import {Http, Headers} from '@angular/http';
3 |
4 | @Injectable()
5 | export class RegisterService {
6 | public url='/api/user';
7 |
8 | constructor(public http:Http) {
9 |
10 | }
11 |
12 |
13 | create(data) {
14 | let headers = new Headers();
15 | headers.append('Content-Type', 'application/json');
16 | return this.http.post(this.url, JSON.stringify(data),
17 | {headers: headers})
18 | .map(res => res.json());
19 | }
20 |
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/client/app/_scrap/unused/app.1.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | {{ user | displayName }}
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/client/app/_scrap/unused/app1.component.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nawalgupta/angular2-shop/c7eed8e5a13665960599fddc57cb3281b2888aa3/client/app/_scrap/unused/app1.component.ts
--------------------------------------------------------------------------------
/client/app/_scrap/unused/index1.ts:
--------------------------------------------------------------------------------
1 | export {environment} from './environment';
2 | export {Material2AppAppComponent} from './material2-app.component';
3 |
--------------------------------------------------------------------------------
/client/app/about/about.spec.ts:
--------------------------------------------------------------------------------
1 | import {
2 | it,
3 | inject,
4 | injectAsync,
5 | describe,
6 | beforeEachProviders,
7 | TestComponentBuilder
8 | } from '@angular/core/testing';
9 |
10 | import {TestComponentBuilder} from '@angular/compiler/testing';
11 |
12 | import {Component, provide} from '@angular/core';
13 |
14 | // Load the implementations that should be tested
15 | import {About} from './about.component';
16 |
17 | describe('About', () => {
18 | // provide our implementations or mocks to the dependency injector
19 | beforeEachProviders(() => [
20 | About
21 | ]);
22 |
23 | it('should log ngOnInit', inject([About], (about) => {
24 | spyOn(console, 'log');
25 | expect(console.log).not.toHaveBeenCalled();
26 |
27 | about.ngOnInit();
28 | expect(console.log).toHaveBeenCalled();
29 | }));
30 |
31 | });
32 |
--------------------------------------------------------------------------------
/client/app/about/index.ts:
--------------------------------------------------------------------------------
1 | export * from './about.component';
2 |
--------------------------------------------------------------------------------
/client/app/app.component.e2e.ts:
--------------------------------------------------------------------------------
1 | describe('App', () => {
2 |
3 | beforeEach(() => {
4 | browser.get('/');
5 | });
6 |
7 |
8 | it('should have a title', () => {
9 | let subject = browser.getTitle();
10 | let result = 'Angular 2 MEAN Webpack Starter';
11 | expect(subject).toEqual(result);
12 | });
13 |
14 | it('should have ', () => {
15 | let subject = element(by.css('app header')).isPresent();
16 | let result = true;
17 | expect(subject).toEqual(result);
18 | });
19 |
20 | it('should have ', () => {
21 | let subject = element(by.css('app main')).isPresent();
22 | let result = true;
23 | expect(subject).toEqual(result);
24 | });
25 |
26 | it('should have