├── src
├── assets
│ ├── .gitkeep
│ ├── icon-128x128.png
│ ├── icon-152x152.png
│ ├── icon-256x256.png
│ ├── icon-512x512.png
│ └── fonts
│ │ └── material-icons
│ │ ├── MaterialIcons-Regular.eot
│ │ ├── MaterialIcons-Regular.ttf
│ │ ├── MaterialIcons-Regular.woff
│ │ ├── MaterialIcons-Regular.woff2
│ │ └── material-icons.css
├── app
│ ├── app.component.scss
│ ├── eshop
│ │ ├── gdpr
│ │ │ ├── gdpr.component.scss
│ │ │ └── gdpr.component.ts
│ │ ├── vop
│ │ │ ├── vop.component.scss
│ │ │ └── vop.component.ts
│ │ ├── about
│ │ │ ├── about.component.scss
│ │ │ ├── about.component.html
│ │ │ └── about.component.ts
│ │ ├── contact
│ │ │ ├── contact.component.ts
│ │ │ ├── contact.component.scss
│ │ │ └── contact.component.html
│ │ └── eshop.module.ts
│ ├── dashboard
│ │ ├── tiny-editor.ts
│ │ │ ├── tiny-editor.component.scss
│ │ │ ├── tiny-editor.component.html
│ │ │ └── tiny-editor.component.ts
│ │ ├── orders-edit
│ │ │ ├── orders-edit.component.scss
│ │ │ ├── orders-edit.component.ts
│ │ │ ├── orders-edit.component.html
│ │ │ └── order-edit
│ │ │ │ ├── order-edit.component.scss
│ │ │ │ ├── order-edit.component.ts
│ │ │ │ └── order-edit.component.html
│ │ ├── translations-edit
│ │ │ ├── translations-edit.component.scss
│ │ │ ├── translations-edit.component.html
│ │ │ └── translations-edit.component.ts
│ │ ├── dashboard
│ │ │ ├── dashboard.component.scss
│ │ │ ├── dashboard.component.ts
│ │ │ └── dashboard.component.html
│ │ ├── products-edit
│ │ │ ├── products-edit.component.scss
│ │ │ └── products-edit.component.html
│ │ └── dashboard.module.ts
│ ├── shared
│ │ ├── pagination
│ │ │ ├── pagination.component.scss
│ │ │ ├── pagination.component.ts
│ │ │ └── pagination.component.html
│ │ ├── card
│ │ │ ├── card.component.html
│ │ │ ├── card.component.scss
│ │ │ └── card.component.ts
│ │ ├── cart-show
│ │ │ ├── cart-show.component.scss
│ │ │ ├── cart-show.component.html
│ │ │ └── cart-show.component.ts
│ │ ├── sidebar
│ │ │ ├── sidebar.component.scss
│ │ │ ├── sidebar.component.ts
│ │ │ └── sidebar.component.html
│ │ ├── shared.module.ts
│ │ └── products-list
│ │ │ ├── products-list.component.html
│ │ │ ├── products-list.component.ts
│ │ │ └── products-list.component.scss
│ ├── footer
│ │ ├── footer.component.scss
│ │ ├── footer.component.ts
│ │ └── footer.component.html
│ ├── app.component.html
│ ├── orders
│ │ ├── orders.component.scss
│ │ ├── orders.component.html
│ │ └── orders.component.ts
│ ├── pipes
│ │ ├── price.pipe.ts
│ │ ├── pipe.module.ts
│ │ └── translate.pipe.ts
│ ├── services
│ │ ├── window.service.ts
│ │ ├── auth.service.ts
│ │ ├── server-http-interceptor.ts
│ │ ├── auth.guard.ts
│ │ ├── auth-admin.guard.ts
│ │ ├── translate.service.ts
│ │ ├── browser-http-interceptor.ts
│ │ └── api.service.ts
│ ├── cart
│ │ ├── cart.module.ts
│ │ └── cart
│ │ │ ├── cart.component.scss
│ │ │ ├── cart.component.ts
│ │ │ └── cart.component.html
│ ├── app.browser.module.ts
│ ├── product
│ │ ├── product.module.ts
│ │ └── product
│ │ │ ├── product.component.scss
│ │ │ ├── product.component.html
│ │ │ └── product.component.ts
│ ├── app.server.module.ts
│ ├── order
│ │ ├── order.component.scss
│ │ ├── order.component.ts
│ │ └── order.component.html
│ ├── store
│ │ └── reducers
│ │ │ ├── dashboard.ts
│ │ │ ├── auth.ts
│ │ │ ├── index.ts
│ │ │ └── product.ts
│ ├── utils
│ │ └── lazyLoadImg
│ │ │ ├── lazy.module.ts
│ │ │ ├── lazy-viewport.directive.ts
│ │ │ ├── lazy-src.directive.ts
│ │ │ └── lazy-viewport.ts
│ ├── products
│ │ ├── products.component.scss
│ │ └── products.component.html
│ ├── header
│ │ ├── header.component.scss
│ │ ├── header.component.ts
│ │ └── header.component.html
│ ├── app.component.ts
│ ├── app.routes.ts
│ └── app.module.ts
├── favicon.ico
├── environments
│ ├── environment.prod.ts
│ └── environment.ts
├── config
│ └── keys.ts
├── typings.d.ts
├── main.server.ts
├── styles
│ ├── _variables.scss
│ ├── main.scss
│ └── index.scss
├── tsconfig.app.json
├── main.ts
├── tsconfig.server.json
├── manifest.json
├── index.html
└── polyfills.ts
├── .dockerignore
├── config
├── aliases
│ └── hiredis.js
├── keys.js
├── dev.setThisFromExternalApiKeys.js
└── prod.js
├── .prettierrc.json
├── .stylelintrc.json
├── middlewares
├── requireLogin.js
└── requireAdmin.js
├── docker-compose.yml
├── .editorconfig
├── models
├── Translation.js
├── User.js
├── Order.js
├── Product.js
└── Cart.js
├── routes
├── index.ts
├── authRoutes.ts
├── cartRoutes.ts
├── productRoutes.ts
└── billingRoutes.ts
├── Dockerfile
├── nginx-conf
└── nginx.conf
├── browserslist
├── tsconfig.json
├── .gitignore
├── services
├── paginate.js
├── cache.js
├── passport.js
└── mailer.js
├── .vscode
└── settings.json
├── ngsw-config.json
├── README.md
├── tslint.json
├── package.json
├── angular.json
└── server.ts
/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/app.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/eshop/gdpr/gdpr.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/eshop/vop/vop.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 |
--------------------------------------------------------------------------------
/src/app/eshop/about/about.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/config/aliases/hiredis.js:
--------------------------------------------------------------------------------
1 | export default null;
2 |
--------------------------------------------------------------------------------
/src/app/dashboard/tiny-editor.ts/tiny-editor.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 999,
3 | "semi": true
4 | }
5 |
--------------------------------------------------------------------------------
/src/app/shared/pagination/pagination.component.scss:
--------------------------------------------------------------------------------
1 | :host {
2 | display: block;
3 | }
4 |
--------------------------------------------------------------------------------
/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/favicon.ico
--------------------------------------------------------------------------------
/src/assets/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/icon-128x128.png
--------------------------------------------------------------------------------
/src/assets/icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/icon-152x152.png
--------------------------------------------------------------------------------
/src/assets/icon-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/icon-256x256.png
--------------------------------------------------------------------------------
/src/assets/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/icon-512x512.png
--------------------------------------------------------------------------------
/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true,
3 | apiUrl: ''
4 | };
5 |
--------------------------------------------------------------------------------
/src/config/keys.ts:
--------------------------------------------------------------------------------
1 |
2 | export const keys = {
3 | stripePublishableKey: 'pk_test_lYtRYxhbaBtf3kZZy5KxkAIv'
4 | }
5 |
--------------------------------------------------------------------------------
/.stylelintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "stylelint-config-recommended",
4 | "stylelint-config-standard",
5 | "stylelint-config-recommended-scss"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/src/assets/fonts/material-icons/MaterialIcons-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/fonts/material-icons/MaterialIcons-Regular.eot
--------------------------------------------------------------------------------
/src/assets/fonts/material-icons/MaterialIcons-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/fonts/material-icons/MaterialIcons-Regular.ttf
--------------------------------------------------------------------------------
/src/assets/fonts/material-icons/MaterialIcons-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/fonts/material-icons/MaterialIcons-Regular.woff
--------------------------------------------------------------------------------
/src/assets/fonts/material-icons/MaterialIcons-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pararell/eshop-angular-node/HEAD/src/assets/fonts/material-icons/MaterialIcons-Regular.woff2
--------------------------------------------------------------------------------
/middlewares/requireLogin.js:
--------------------------------------------------------------------------------
1 | module.exports = (req, res, next) => {
2 | if(!req.user) {
3 | return res.status(401).send({error: 'You must log in!'});
4 | }
5 | next();
6 | };
7 |
--------------------------------------------------------------------------------
/src/typings.d.ts:
--------------------------------------------------------------------------------
1 | /* SystemJS module definition */
2 | declare var StripeCheckout:any;
3 | declare var window: Window;
4 | declare var module: NodeModule;
5 | interface NodeModule {
6 | id: string;
7 | }
8 |
--------------------------------------------------------------------------------
/middlewares/requireAdmin.js:
--------------------------------------------------------------------------------
1 | module.exports = (req, res, next) => {
2 | if(!req.user.admin) {
3 | return res.status(401).send({error: 'No permision!'});
4 | }
5 |
6 | next();
7 | };
8 |
9 |
--------------------------------------------------------------------------------
/src/app/footer/footer.component.scss:
--------------------------------------------------------------------------------
1 | .page-footer {
2 | background: linear-gradient(to right, #000428, #004e92);
3 | }
4 |
5 | .footer-copyright {
6 | background: linear-gradient(to right, #000428, #004e92);
7 | }
8 |
--------------------------------------------------------------------------------
/src/app/dashboard/tiny-editor.ts/tiny-editor.component.html:
--------------------------------------------------------------------------------
1 |
{{ order?.orderId }}
9 |Status: {{ order?.status }}
12 |Desc: {{ order?.description }}
15 |Customer: {{ order?.customerEmail }}
16 |Created: {{ order.dateAdded | date:'dd-MM-yy' }}
17 |Paid: {{ order?.outcome?.seller_message }}
18 |{{ order?.orderId }}
9 |Status: {{ order?.status }}
12 |Desc: {{ order?.description }}
15 |Customer: {{ order?.customerEmail }}
16 |Created: {{ order.dateAdded | date:'dd-MM-yy' }}
17 |Paid: {{ order?.outcome?.seller_message }}
18 |We will let you know soon about your requirement
55 |Your requirement:
56 |Name: ${emailType.contact.name}
57 |Email: ${emailType.contact.email}
58 |Notes: ${emailType.contact.notes}
59 |Name: ${emailType.contact.name}
74 |Email: ${emailType.contact.email}
75 |Notes: ${emailType.contact.notes}
76 |Desc: {{ order?.description }}
29 |Customer: {{ order?.customerEmail }}
30 |Created: {{ order.dateAdded | date:'dd-MM-yy' }}
31 |Paid: {{ order?.outcome?.seller_message }}
32 |Total Price: {{ order?.cart?.totalPrice }}
33 |Total Quantity: {{ order?.cart?.totalQty }}
34 |Customer data:
40 |CITY: {{ order?.source?.address_city }}
41 |COUNTRY: {{ order?.source?.address_country }}
42 |ADRESS: {{ order?.source?.address_line1 }}
43 |ZIP: {{ order?.source?.address_zip }}
44 |CardType: {{ order?.source?.brand }}
45 |Customer Name : {{ order?.source?.name }}
46 |Cart:
49 |Desc: {{ order?.description }}
36 |Customer: {{ order?.customerEmail }}
37 |Created: {{ order.dateAdded | date:'dd-MM-yy' }}
38 |Paid: {{ order?.outcome?.seller_message }}
39 |Total Price: {{ order?.cart?.totalPrice }}
40 |Total Quantity: {{ order?.cart?.totalQty }}
41 |Customer data:
47 |CITY: {{ order?.source?.address_city }}
48 |COUNTRY: {{ order?.source?.address_country }}
49 |ADRESS: {{ order?.source?.address_line1 }}
50 |ZIP: {{ order?.source?.address_zip }}
51 |CardType: {{ order?.source?.brand }}
52 |Customer Name : {{ order?.source?.name }}
53 |Cart:
56 |