├── .babelrc
├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── .idea
├── copyright
│ └── profiles_settings.xml
├── jsLibraryMappings.xml
├── libraries
│ └── my_proyect_node_modules.xml
├── modules.xml
├── my-proyect.iml
├── vcs.xml
└── workspace.xml
├── README.md
├── build
├── build.js
├── dev-client.js
├── dev-server.js
├── utils.js
├── webpack.base.conf.js
├── webpack.dev.conf.js
└── webpack.prod.conf.js
├── config
├── dev.env.js
├── index.js
├── prod.env.js
└── test.env.js
├── images
├── create_puzzle.png
├── game.png
├── invite.png
├── invites.png
├── puzzles.png
├── user_account.png
└── visor.png
├── index.html
├── package-lock.json
├── package.json
├── server
├── app
│ └── index.js
├── config.js
├── controllers
│ ├── board.server.controller.js
│ ├── chat.server.controller.js
│ ├── index.js
│ ├── index.sublime-workspace
│ ├── puzzle.server.controller.js
│ ├── user.server.controller.js
│ └── utils
│ │ └── forkContDown.js
├── install.txt
├── models
│ ├── board.server.model.js
│ ├── conver.server.model.js
│ ├── index.js
│ ├── puzzle.server.model.js
│ └── user.server.model.js
├── package-lock.json
├── package.json
├── public
│ ├── build
│ │ └── charts
│ │ │ ├── 44
│ │ │ ├── css
│ │ │ │ ├── core
│ │ │ │ │ └── tooltip.css
│ │ │ │ └── util
│ │ │ │ │ └── util.css
│ │ │ └── js
│ │ │ │ ├── jsapi_compiled_corechart_module.js
│ │ │ │ ├── jsapi_compiled_default_module.js
│ │ │ │ ├── jsapi_compiled_format_module.js
│ │ │ │ └── jsapi_compiled_ui_module.js
│ │ │ ├── loader.js
│ │ │ └── util.css
│ ├── static
│ │ ├── base.css
│ │ ├── css
│ │ │ ├── animate.min.css
│ │ │ ├── app.bd3eb14d8948f45829bb55d3fee9116d.css
│ │ │ ├── app.bd3eb14d8948f45829bb55d3fee9116d.css.map
│ │ │ ├── google-icons
│ │ │ │ ├── 2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2
│ │ │ │ └── icon.css
│ │ │ ├── materialize.min.css
│ │ │ ├── myStyles.css
│ │ │ ├── vendor.221d34fa0e602f6403b1c89ec77ea455.css
│ │ │ └── vendor.221d34fa0e602f6403b1c89ec77ea455.css.map
│ │ ├── desktop.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
│ │ │ ├── 2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.def4c58.woff2
│ │ │ ├── Material-Design-Icons.2f19889.eot
│ │ │ ├── Material-Design-Icons.3892a10.woff2
│ │ │ ├── Material-Design-Icons.4c874dc.woff
│ │ │ ├── Material-Design-Icons.7f61c99.ttf
│ │ │ ├── Roboto-Bold.39b2c30.woff2
│ │ │ ├── Roboto-Bold.dc81817.woff
│ │ │ ├── Roboto-Bold.e31fcf1.ttf
│ │ │ ├── Roboto-Bold.ecdd509.eot
│ │ │ ├── Roboto-Light.3b813c2.woff
│ │ │ ├── Roboto-Light.46e48ce.ttf
│ │ │ ├── Roboto-Light.69f8a06.woff2
│ │ │ ├── Roboto-Light.a990f61.eot
│ │ │ ├── Roboto-Medium.4d9f3f9.eot
│ │ │ ├── Roboto-Medium.574fd0b.woff2
│ │ │ ├── Roboto-Medium.894a2ed.ttf
│ │ │ ├── Roboto-Medium.fc78759.woff
│ │ │ ├── Roboto-Regular.2751ee4.woff2
│ │ │ ├── Roboto-Regular.30799ef.eot
│ │ │ ├── Roboto-Regular.ba3dcd8.woff
│ │ │ ├── Roboto-Regular.df7b648.ttf
│ │ │ ├── Roboto-Thin.7500519.woff
│ │ │ ├── Roboto-Thin.9499847.ttf
│ │ │ ├── Roboto-Thin.954bbde.woff2
│ │ │ └── Roboto-Thin.dfe56a8.eot
│ │ ├── images
│ │ │ ├── board
│ │ │ │ ├── 3d
│ │ │ │ │ └── Light-Wood.png
│ │ │ │ ├── blue2.jpg
│ │ │ │ ├── marble.jpg
│ │ │ │ └── wood2.jpg
│ │ │ ├── linux-avatar.png
│ │ │ └── pieces
│ │ │ │ ├── cburnett
│ │ │ │ ├── bB.svg
│ │ │ │ ├── bK-full.svg
│ │ │ │ ├── bK.svg
│ │ │ │ ├── bN.svg
│ │ │ │ ├── bP.svg
│ │ │ │ ├── bQ.svg
│ │ │ │ ├── bR.svg
│ │ │ │ ├── wB.svg
│ │ │ │ ├── wK-full.svg
│ │ │ │ ├── wK.svg
│ │ │ │ ├── wN.svg
│ │ │ │ ├── wP.svg
│ │ │ │ ├── wQ.svg
│ │ │ │ ├── wR.svg
│ │ │ │ └── wbK.svg
│ │ │ │ ├── merida
│ │ │ │ ├── bB.svg
│ │ │ │ ├── bK.svg
│ │ │ │ ├── bN.svg
│ │ │ │ ├── bP.svg
│ │ │ │ ├── bQ.svg
│ │ │ │ ├── bR.svg
│ │ │ │ ├── wB.svg
│ │ │ │ ├── wK.svg
│ │ │ │ ├── wN.svg
│ │ │ │ ├── wP.svg
│ │ │ │ ├── wQ.svg
│ │ │ │ └── wR.svg
│ │ │ │ ├── pirouetti
│ │ │ │ ├── bB.svg
│ │ │ │ ├── bK.svg
│ │ │ │ ├── bN.svg
│ │ │ │ ├── bP.svg
│ │ │ │ ├── bQ.svg
│ │ │ │ ├── bR.svg
│ │ │ │ ├── invert
│ │ │ │ │ ├── bB.svg
│ │ │ │ │ ├── bK.svg
│ │ │ │ │ ├── bN.svg
│ │ │ │ │ ├── bP.svg
│ │ │ │ │ ├── bQ.svg
│ │ │ │ │ ├── bR.svg
│ │ │ │ │ ├── wB.svg
│ │ │ │ │ ├── wK.svg
│ │ │ │ │ ├── wN.svg
│ │ │ │ │ ├── wP.svg
│ │ │ │ │ ├── wQ.svg
│ │ │ │ │ └── wR.svg
│ │ │ │ ├── wB.svg
│ │ │ │ ├── wK.svg
│ │ │ │ ├── wN.svg
│ │ │ │ ├── wP.svg
│ │ │ │ ├── wQ.svg
│ │ │ │ └── wR.svg
│ │ │ │ └── staunton
│ │ │ │ └── basic
│ │ │ │ ├── Black-Bishop-Flipped.png
│ │ │ │ ├── Black-Bishop.png
│ │ │ │ ├── Black-King.png
│ │ │ │ ├── Black-Knight-Flipped.png
│ │ │ │ ├── Black-Knight.png
│ │ │ │ ├── Black-Pawn.png
│ │ │ │ ├── Black-Queen.png
│ │ │ │ ├── Black-Rook.png
│ │ │ │ ├── White-Bishop-Flipped.png
│ │ │ │ ├── White-Bishop.png
│ │ │ │ ├── White-King.png
│ │ │ │ ├── White-Knight-Flipped.png
│ │ │ │ ├── White-Knight.png
│ │ │ │ ├── White-Pawn.png
│ │ │ │ ├── White-Queen.png
│ │ │ │ └── White-Rook.png
│ │ ├── img
│ │ │ ├── 2d.9ccd1d2.png
│ │ │ ├── Black-Bishop-Flipped.b96efaf.png
│ │ │ ├── Black-Bishop.cc91265.png
│ │ │ ├── Black-King.591e986.png
│ │ │ ├── Black-Knight-Flipped.1834213.png
│ │ │ ├── Black-Knight.0c897c7.png
│ │ │ ├── Black-Pawn.81e5a38.png
│ │ │ ├── Black-Queen.e157cdb.png
│ │ │ ├── Black-Rook.759c4f5.png
│ │ │ ├── Light-Wood.697d127.png
│ │ │ ├── Material-Design-Icons.2c478c3.svg
│ │ │ ├── White-Bishop-Flipped.f66ce5f.png
│ │ │ ├── White-Bishop.fbb218f.png
│ │ │ ├── White-King.1845a2b.png
│ │ │ ├── White-Knight-Flipped.1a85578.png
│ │ │ ├── White-Knight.a786aa1.png
│ │ │ ├── White-Pawn.6c520e9.png
│ │ │ ├── White-Queen.26d99a0.png
│ │ │ ├── White-Rook.010f0a8.png
│ │ │ ├── blue2.bffddf3.jpg
│ │ │ ├── marble.cbc7735.jpg
│ │ │ └── wood2.c171ff8.jpg
│ │ ├── js
│ │ │ ├── 0.7d19780f419711a2d2f5.js
│ │ │ ├── 0.7d19780f419711a2d2f5.js.map
│ │ │ ├── 1.0f61207d051c2f148d47.js
│ │ │ ├── 1.0f61207d051c2f148d47.js.map
│ │ │ ├── 2.e0798ff563256086f4c1.js
│ │ │ ├── 2.e0798ff563256086f4c1.js.map
│ │ │ ├── 3.1f826c1ff4a09752ebf9.js
│ │ │ ├── 3.1f826c1ff4a09752ebf9.js.map
│ │ │ ├── app.3fbbc7c2d5269ebf0286.js
│ │ │ ├── app.3fbbc7c2d5269ebf0286.js.map
│ │ │ ├── manifest.c1d6c112ff988c8c65cb.js
│ │ │ ├── manifest.c1d6c112ff988c8c65cb.js.map
│ │ │ ├── vendor.004f1713f4b7e74797e1.js
│ │ │ └── vendor.004f1713f4b7e74797e1.js.map
│ │ ├── libs
│ │ │ └── garbochess.js
│ │ ├── mobile.css
│ │ ├── style.css
│ │ └── theme.css
│ └── uploads
│ │ ├── 1483627032984__ext.jpg
│ │ ├── 1483712014821__ext.jpg
│ │ ├── 1483713616741__393576_141797839262870_1594749992_n.jpg
│ │ ├── 1483713993086__decimas Ibis.pdf
│ │ ├── 1483819518660__393576_141797839262870_1594749992_n.jpg
│ │ ├── 1483820094694__decimas Ibis.pdf
│ │ ├── 1483831395620__393576_141797839262870_1594749992_n.jpg
│ │ ├── 1483833107627__decimas Ibis.pdf
│ │ ├── 1483833687482__decimas Ibis.pdf
│ │ ├── 1484000341123__393576_141797839262870_1594749992_n.jpg
│ │ ├── 1562261914160__Captura de pantalla de 2019-06-19 10-36-53.png
│ │ ├── 1562261931678__Captura de pantalla de 2019-06-19 10-54-31.png
│ │ ├── 1562261992355__Captura de pantalla de 2019-06-19 10-39-42.png
│ │ └── 50x50defaultAvatar.png
├── routers
│ ├── board.server.router.js
│ ├── chat.server.router.js
│ ├── index.js
│ ├── puzzle.server.router.js
│ └── user.server.router.js
├── server.js
├── ssl
│ ├── cert.csr
│ ├── certificate.pem
│ ├── generatessl
│ └── private.key
└── views
│ └── client.html
├── src
├── App.vue
├── assets
│ ├── 2d.png
│ ├── 50x50defaultAvatar.png
│ └── logo.png
├── components
│ ├── boardVisor
│ │ ├── index.vue
│ │ └── template.html
│ ├── createServer
│ │ ├── index.vue
│ │ └── template.html
│ ├── game
│ │ ├── boardHistory.vue
│ │ ├── index.vue
│ │ ├── template.html
│ │ └── userCard.vue
│ ├── home
│ │ ├── boardVisor.vue
│ │ ├── bodyMen.vue
│ │ ├── index.vue
│ │ ├── invites.vue
│ │ ├── template.html
│ │ └── uploadFiles.vue
│ ├── multiplayer
│ │ ├── index.vue
│ │ └── template.html
│ ├── puzzles
│ │ ├── index.vue
│ │ ├── puzzle.vue
│ │ └── template.html
│ └── user
│ │ ├── account
│ │ ├── activity.vue
│ │ ├── data.vue
│ │ ├── index.vue
│ │ ├── personalData.vue
│ │ └── template.html
│ │ ├── loguin
│ │ └── index.vue
│ │ └── register
│ │ ├── index.vue
│ │ └── template.html
├── directives
│ ├── bind-boolean.js
│ └── vue.pretty-bytes.js
├── main.js
├── services
│ ├── board.js
│ ├── garbochess.js
│ ├── lenguajes.js
│ ├── locales
│ │ └── index.js
│ ├── lstorage.js
│ ├── puzzle.js
│ └── user.js
└── vuex
│ ├── actions.js
│ ├── getters.js
│ ├── modules
│ ├── boards.js
│ ├── index.js
│ └── user.js
│ ├── mutation-types.js
│ └── store.js
├── static
├── .gitkeep
├── base.css
├── css
│ ├── animate.min.css
│ ├── google-icons
│ │ ├── 2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2
│ │ └── icon.css
│ ├── materialize.min.css
│ └── myStyles.css
├── desktop.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
├── images
│ ├── board
│ │ ├── 3d
│ │ │ └── Light-Wood.png
│ │ ├── blue2.jpg
│ │ ├── marble.jpg
│ │ └── wood2.jpg
│ ├── linux-avatar.png
│ └── pieces
│ │ ├── cburnett
│ │ ├── bB.svg
│ │ ├── bK-full.svg
│ │ ├── bK.svg
│ │ ├── bN.svg
│ │ ├── bP.svg
│ │ ├── bQ.svg
│ │ ├── bR.svg
│ │ ├── wB.svg
│ │ ├── wK-full.svg
│ │ ├── wK.svg
│ │ ├── wN.svg
│ │ ├── wP.svg
│ │ ├── wQ.svg
│ │ ├── wR.svg
│ │ └── wbK.svg
│ │ ├── merida
│ │ ├── bB.svg
│ │ ├── bK.svg
│ │ ├── bN.svg
│ │ ├── bP.svg
│ │ ├── bQ.svg
│ │ ├── bR.svg
│ │ ├── wB.svg
│ │ ├── wK.svg
│ │ ├── wN.svg
│ │ ├── wP.svg
│ │ ├── wQ.svg
│ │ └── wR.svg
│ │ ├── pirouetti
│ │ ├── bB.svg
│ │ ├── bK.svg
│ │ ├── bN.svg
│ │ ├── bP.svg
│ │ ├── bQ.svg
│ │ ├── bR.svg
│ │ ├── invert
│ │ │ ├── bB.svg
│ │ │ ├── bK.svg
│ │ │ ├── bN.svg
│ │ │ ├── bP.svg
│ │ │ ├── bQ.svg
│ │ │ ├── bR.svg
│ │ │ ├── wB.svg
│ │ │ ├── wK.svg
│ │ │ ├── wN.svg
│ │ │ ├── wP.svg
│ │ │ ├── wQ.svg
│ │ │ └── wR.svg
│ │ ├── wB.svg
│ │ ├── wK.svg
│ │ ├── wN.svg
│ │ ├── wP.svg
│ │ ├── wQ.svg
│ │ └── wR.svg
│ │ └── staunton
│ │ └── basic
│ │ ├── Black-Bishop-Flipped.png
│ │ ├── Black-Bishop.png
│ │ ├── Black-King.png
│ │ ├── Black-Knight-Flipped.png
│ │ ├── Black-Knight.png
│ │ ├── Black-Pawn.png
│ │ ├── Black-Queen.png
│ │ ├── Black-Rook.png
│ │ ├── White-Bishop-Flipped.png
│ │ ├── White-Bishop.png
│ │ ├── White-King.png
│ │ ├── White-Knight-Flipped.png
│ │ ├── White-Knight.png
│ │ ├── White-Pawn.png
│ │ ├── White-Queen.png
│ │ └── White-Rook.png
├── libs
│ └── garbochess.js
├── mobile.css
├── style.css
└── theme.css
├── test
├── e2e
│ ├── custom-assertions
│ │ └── elementCount.js
│ ├── nightwatch.conf.js
│ ├── runner.js
│ └── specs
│ │ └── test.js
└── unit
│ ├── .eslintrc
│ ├── index.js
│ ├── karma.conf.js
│ └── specs
│ └── Hello.spec.js
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": ["es2015", "stage-2"],
3 | "plugins": ["transform-runtime"],
4 | "comments": false
5 | }
6 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
4 | extends: 'standard',
5 | // required to lint *.vue files
6 | plugins: [
7 | 'html'
8 | ],
9 | // add your custom rules here
10 | 'rules': {
11 | // allow paren-less arrow functions
12 | 'arrow-parens': 0,
13 | // allow debugger during development
14 | 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | dist/
4 | .idea/
5 | npm-debug.log
6 | selenium-debug.log
7 | test/unit/coverage
8 | test/e2e/reports
9 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/jsLibraryMappings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/libraries/my_proyect_node_modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/my-proyect.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/build/build.js:
--------------------------------------------------------------------------------
1 | // https://github.com/shelljs/shelljs
2 | require('shelljs/global')
3 | env.NODE_ENV = 'production'
4 |
5 | var path = require('path')
6 | var config = require('../config')
7 | var ora = require('ora')
8 | var webpack = require('webpack')
9 | var webpackConfig = require('./webpack.prod.conf')
10 |
11 | console.log(
12 | ' Tip:\n' +
13 | ' Built files are meant to be served over an HTTP server.\n' +
14 | ' Opening index.html over file:// won\'t work.\n'
15 | )
16 |
17 | var spinner = ora('building for production...')
18 | spinner.start()
19 |
20 | var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)
21 | rm('-rf', assetsPath)
22 | mkdir('-p', assetsPath)
23 | cp('-R', 'static/', assetsPath)
24 |
25 | webpack(webpackConfig, function (err, stats) {
26 | spinner.stop()
27 | if (err) throw err
28 | process.stdout.write(stats.toString({
29 | colors: true,
30 | modules: false,
31 | children: false,
32 | chunks: false,
33 | chunkModules: false
34 | }) + '\n')
35 | })
36 |
--------------------------------------------------------------------------------
/build/dev-client.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | require('eventsource-polyfill')
3 | var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
4 |
5 | hotClient.subscribe(function (event) {
6 | if (event.action === 'reload') {
7 | window.location.reload()
8 | }
9 | })
10 |
--------------------------------------------------------------------------------
/build/dev-server.js:
--------------------------------------------------------------------------------
1 | var path = require('path')
2 | var express = require('express')
3 | var webpack = require('webpack')
4 | var config = require('../config')
5 | var proxyMiddleware = require('http-proxy-middleware')
6 | var webpackConfig = process.env.NODE_ENV === 'testing'
7 | ? require('./webpack.prod.conf')
8 | : require('./webpack.dev.conf')
9 |
10 | // default port where dev server listens for incoming traffic
11 | var port = process.env.PORT || config.dev.port
12 | // Define HTTP proxies to your custom API backend
13 | // https://github.com/chimurai/http-proxy-middleware
14 | var proxyTable = config.dev.proxyTable
15 |
16 | var app = express()
17 | var compiler = webpack(webpackConfig)
18 |
19 | var devMiddleware = require('webpack-dev-middleware')(compiler, {
20 | publicPath: webpackConfig.output.publicPath,
21 | stats: {
22 | colors: true,
23 | chunks: false
24 | }
25 | })
26 |
27 | var hotMiddleware = require('webpack-hot-middleware')(compiler)
28 | // force page reload when html-webpack-plugin template changes
29 | compiler.plugin('compilation', function (compilation) {
30 | compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
31 | hotMiddleware.publish({ action: 'reload' })
32 | cb()
33 | })
34 | })
35 |
36 | // proxy api requests
37 | Object.keys(proxyTable).forEach(function (context) {
38 | var options = proxyTable[context]
39 | if (typeof options === 'string') {
40 | options = { target: options }
41 | }
42 | app.use(proxyMiddleware(context, options))
43 | })
44 |
45 | // handle fallback for HTML5 history API
46 | app.use(require('connect-history-api-fallback')())
47 |
48 | // serve webpack bundle output
49 | app.use(devMiddleware)
50 |
51 | // enable hot-reload and state-preserving
52 | // compilation error display
53 | app.use(hotMiddleware)
54 |
55 | // serve pure static assets
56 | var staticPath = path.posix.join(config.build.assetsPublicPath, config.build.assetsSubDirectory)
57 | app.use(staticPath, express.static('./static'))
58 |
59 | module.exports = app.listen(port, function (err) {
60 | if (err) {
61 | console.log(err)
62 | return
63 | }
64 | console.log('Listening at http://localhost:' + port + '\n')
65 | })
66 |
--------------------------------------------------------------------------------
/build/utils.js:
--------------------------------------------------------------------------------
1 | var path = require('path')
2 | var config = require('../config')
3 | var ExtractTextPlugin = require('extract-text-webpack-plugin')
4 |
5 | exports.assetsPath = function (_path) {
6 | return path.posix.join(config.build.assetsSubDirectory, _path)
7 | }
8 |
9 | exports.cssLoaders = function (options) {
10 | options = options || {}
11 | // generate loader string to be used with extract text plugin
12 | function generateLoaders (loaders) {
13 | var sourceLoader = loaders.map(function (loader) {
14 | var extraParamChar
15 | if (/\?/.test(loader)) {
16 | loader = loader.replace(/\?/, '-loader?')
17 | extraParamChar = '&'
18 | } else {
19 | loader = loader + '-loader'
20 | extraParamChar = '?'
21 | }
22 | return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '')
23 | }).join('!')
24 |
25 | if (options.extract) {
26 | return ExtractTextPlugin.extract('vue-style-loader', sourceLoader)
27 | } else {
28 | return ['vue-style-loader', sourceLoader].join('!')
29 | }
30 | }
31 |
32 | // http://vuejs.github.io/vue-loader/configurations/extract-css.html
33 | return {
34 | css: generateLoaders(['css']),
35 | postcss: generateLoaders(['css']),
36 | less: generateLoaders(['css', 'less']),
37 | sass: generateLoaders(['css', 'sass?indentedSyntax']),
38 | scss: generateLoaders(['css', 'sass']),
39 | stylus: generateLoaders(['css', 'stylus']),
40 | styl: generateLoaders(['css', 'stylus'])
41 | }
42 | }
43 |
44 | // Generate loaders for standalone style files (outside of .vue)
45 | exports.styleLoaders = function (options) {
46 | var output = []
47 | var loaders = exports.cssLoaders(options)
48 | for (var extension in loaders) {
49 | var loader = loaders[extension]
50 | output.push({
51 | test: new RegExp('\\.' + extension + '$'),
52 | loader: loader
53 | })
54 | }
55 | return output
56 | }
57 |
--------------------------------------------------------------------------------
/build/webpack.base.conf.js:
--------------------------------------------------------------------------------
1 | var path = require('path')
2 | var config = require('../config')
3 | var utils = require('./utils')
4 | var projectRoot = path.resolve(__dirname, '../')
5 |
6 | module.exports = {
7 | entry: {
8 | app: './src/main.js'
9 | },
10 | output: {
11 | path: config.build.assetsRoot,
12 | publicPath: config.build.assetsPublicPath,
13 | filename: '[name].js'
14 | },
15 | resolve: {
16 | extensions: ['', '.js', '.vue'],
17 | fallback: [path.join(__dirname, '../node_modules')],
18 | alias: {
19 | 'src': path.resolve(__dirname, '../src'),
20 | 'assets': path.resolve(__dirname, '../src/assets'),
21 | 'components': path.resolve(__dirname, '../src/components')
22 | }
23 | },
24 | resolveLoader: {
25 | fallback: [path.join(__dirname, '../node_modules')]
26 | },
27 | module: {
28 | preLoaders: [
29 | {
30 | test: /\.vue$/,
31 | loader: 'eslint',
32 | include: projectRoot,
33 | exclude: /node_modules/
34 | },
35 | {
36 | test: /\.js$/,
37 | loader: 'eslint',
38 | include: projectRoot,
39 | exclude: /node_modules/
40 | }
41 | ],
42 | loaders: [
43 | {
44 | test: /\.vue$/,
45 | loader: 'vue'
46 | },
47 | {
48 | test: /\.js$/,
49 | loader: 'babel',
50 | include: projectRoot,
51 | exclude: /node_modules/
52 | },
53 | {
54 | test: /\.json$/,
55 | loader: 'json'
56 | },
57 | {
58 | test: /\.html$/,
59 | loader: 'vue-html'
60 | },
61 | {
62 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
63 | loader: 'url',
64 | query: {
65 | limit: 10000,
66 | name: utils.assetsPath('img/[name].[hash:7].[ext]')
67 | }
68 | },
69 | {
70 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
71 | loader: 'url',
72 | query: {
73 | limit: 10000,
74 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
75 | }
76 | }
77 | ]
78 | },
79 | eslint: {
80 | formatter: require('eslint-friendly-formatter')
81 | },
82 | vue: {
83 | loaders: utils.cssLoaders()
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/build/webpack.dev.conf.js:
--------------------------------------------------------------------------------
1 | var config = require('../config')
2 | var webpack = require('webpack')
3 | var merge = require('webpack-merge')
4 | var utils = require('./utils')
5 | var baseWebpackConfig = require('./webpack.base.conf')
6 | var HtmlWebpackPlugin = require('html-webpack-plugin')
7 |
8 | // add hot-reload related code to entry chunks
9 | Object.keys(baseWebpackConfig.entry).forEach(function (name) {
10 | baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name])
11 | })
12 |
13 | module.exports = merge(baseWebpackConfig, {
14 | module: {
15 | loaders: utils.styleLoaders()
16 | },
17 | // eval-source-map is faster for development
18 | devtool: '#eval-source-map',
19 | plugins: [
20 | new webpack.DefinePlugin({
21 | 'process.env': config.dev.env
22 | }),
23 | // https://github.com/glenjamin/webpack-hot-middleware#installation--usage
24 | new webpack.optimize.OccurenceOrderPlugin(),
25 | new webpack.HotModuleReplacementPlugin(),
26 | new webpack.NoErrorsPlugin(),
27 | // https://github.com/ampedandwired/html-webpack-plugin
28 | new HtmlWebpackPlugin({
29 | filename: 'index.html',
30 | template: 'index.html',
31 | inject: true
32 | })
33 | ]
34 | })
35 |
--------------------------------------------------------------------------------
/config/dev.env.js:
--------------------------------------------------------------------------------
1 | var merge = require('webpack-merge')
2 | var prodEnv = require('./prod.env')
3 |
4 | module.exports = merge(prodEnv, {
5 | NODE_ENV: '"development"'
6 | })
7 |
--------------------------------------------------------------------------------
/config/index.js:
--------------------------------------------------------------------------------
1 | // see http://vuejs-templates.github.io/webpack for documentation.
2 | var path = require('path')
3 |
4 | module.exports = {
5 | build: {
6 | env: require('./prod.env'),
7 | index: path.resolve(__dirname, '../dist/index.html'),
8 | assetsRoot: path.resolve(__dirname, '../dist'),
9 | assetsSubDirectory: 'static',
10 | assetsPublicPath: '/',
11 | productionSourceMap: true
12 | },
13 | dev: {
14 | env: require('./dev.env'),
15 | port: 8080,
16 | proxyTable: {}
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/config/prod.env.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | NODE_ENV: '"production"'
3 | }
4 |
--------------------------------------------------------------------------------
/config/test.env.js:
--------------------------------------------------------------------------------
1 | var merge = require('webpack-merge')
2 | var devEnv = require('./dev.env')
3 |
4 | module.exports = merge(devEnv, {
5 | NODE_ENV: '"testing"'
6 | })
7 |
--------------------------------------------------------------------------------
/images/create_puzzle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/images/create_puzzle.png
--------------------------------------------------------------------------------
/images/game.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/images/game.png
--------------------------------------------------------------------------------
/images/invite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/images/invite.png
--------------------------------------------------------------------------------
/images/invites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/images/invites.png
--------------------------------------------------------------------------------
/images/puzzles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/images/puzzles.png
--------------------------------------------------------------------------------
/images/user_account.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/images/user_account.png
--------------------------------------------------------------------------------
/images/visor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/images/visor.png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | VueJsChess
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/server/config.js:
--------------------------------------------------------------------------------
1 |
2 | var config = {
3 | db: {
4 | options: {
5 | db: {native_parser: true},
6 | server: {poolSize: 5},
7 | // replset: { rs_name: 'myReplicaSetName' },
8 | // user: 'admin',
9 | // pass: '123456'
10 | },
11 | uri: process.env.MONGO_URL || 'mongodb://127.0.0.1/vuegustchess'
12 | },
13 | porthttp: process.env.PORT || 3311,
14 | multicore: false,
15 | https: true,
16 | debug: false
17 | }
18 | module.exports = config;
--------------------------------------------------------------------------------
/server/controllers/index.js:
--------------------------------------------------------------------------------
1 | var controllers = {};
2 | var mongoose = require('mongoose');
3 | var fs = require('fs')
4 | var config=require('../config.js');
5 | var db = mongoose.connect(config.db.uri, config.db.options);
6 | require('../models')(mongoose);
7 |
8 | var walk = function(path) {
9 | fs.readdirSync(path).forEach(function(file) {
10 | var newPath = path + '/' + file;
11 | var stat = fs.statSync(newPath);
12 | if (stat.isFile()) {
13 | if (/(.*)\.(js|coffee)/.test(file)) {
14 | if (file != 'index.js') {
15 | var indent = file.split('.');
16 | controllers[indent[0]] = require(newPath);
17 | }
18 | }
19 | } else if (stat.isDirectory()) {
20 | // walk(newPath);
21 | }
22 | });
23 | };
24 | var models_path = __dirname;
25 | walk(models_path);
26 |
27 | module.exports = controllers;
28 |
--------------------------------------------------------------------------------
/server/controllers/utils/forkContDown.js:
--------------------------------------------------------------------------------
1 | process.on('message', function (data) {
2 | switch (data.type) {
3 | case 'setTimes':
4 | times = data.data
5 | break;
6 | case 'getTimes':
7 | process.send(times)
8 | break;
9 | case 'contDown':
10 | contDown(data.data)
11 | break;
12 | case 'finish':
13 | clearInterval(twhite)
14 | clearInterval(tblack)
15 | process.exit()
16 | break;
17 | }
18 | })
19 | var tblack= 1;
20 | var twhite= 1;
21 |
22 | var lastTime = 0
23 | var times= {
24 | white: 1 * 60,
25 | black: 1 * 60
26 | }
27 | var contDown = function (turn) {
28 | clearInterval(twhite)
29 | clearInterval(tblack)
30 | if (turn === 'white') {
31 | twhite = setInterval(function () {
32 | times[turn]= times[turn] - 1
33 | if(times[turn]<=-1){
34 | times[turn] = 0
35 | clearInterval(twhite)
36 | clearInterval(tblack)
37 | }
38 | process.send(times)
39 | },1000)
40 | }else {
41 | tblack = setInterval(function () {
42 | times[turn]= times[turn] - 1
43 | if(times[turn]<=-1){
44 | times[turn] = 0
45 | clearInterval(twhite)
46 | clearInterval(tblack)
47 | }
48 | process.send(times)
49 | },1000)
50 | }
51 | }
52 | var getTimes = function () {
53 | return times
54 | }
55 | var setTimes = function (newtimes) {
56 | times= newtimes
57 | lastTime = new Date().getTimes()
58 | }
--------------------------------------------------------------------------------
/server/install.txt:
--------------------------------------------------------------------------------
1 | apt-get install nodejs-legacy
2 | apt-get install mongodb
3 |
4 | // directorio raiz
5 | node server
6 |
--------------------------------------------------------------------------------
/server/models/board.server.model.js:
--------------------------------------------------------------------------------
1 | exports = module.exports = function(mongoose) {
2 | Schema = mongoose.Schema;
3 | var BoardSchema = new Schema({
4 | wins:String,
5 | motiv:String,
6 | u1:String,
7 | u2:String,
8 | time: String,
9 | created: {
10 | type: Date,
11 | default: Date.now
12 | },
13 | type: {
14 | type: String,
15 | default:"public"
16 | },
17 | pgn: {
18 | type: String,
19 | default:"none"
20 | },
21 | });
22 | module.exports = mongoose.model('boards', BoardSchema);
23 | }
--------------------------------------------------------------------------------
/server/models/conver.server.model.js:
--------------------------------------------------------------------------------
1 | exports = module.exports = function(mongoose) {
2 | Schema = mongoose.Schema;
3 |
4 | var MensajeSchema = new Schema({
5 | body: Object,
6 | send:String,
7 | recibe:String,
8 | type:String,
9 | created: {
10 | type: Date,
11 | default: Date.now
12 | }
13 | });
14 | module.exports = mongoose.model('mensajes', MensajeSchema);
15 | }
--------------------------------------------------------------------------------
/server/models/index.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = function(mongoose) {
3 | var fs = require('fs')
4 | var walk = function(path) {
5 | fs.readdirSync(path).forEach(function(file) {
6 | var newPath = path + '/' + file;
7 | var stat = fs.statSync(newPath);
8 | if (stat.isFile()) {
9 | if (/(.*)\.(js|coffee)/.test(file)) {
10 | if (file != 'index.js') {
11 | require(newPath)(mongoose);
12 | }
13 | }
14 | } else if (stat.isDirectory()) {
15 | // walk(newPath);
16 | }
17 | });
18 | };
19 | var models_path = __dirname;
20 | walk(models_path);
21 | }
--------------------------------------------------------------------------------
/server/models/puzzle.server.model.js:
--------------------------------------------------------------------------------
1 | exports = module.exports = function(mongoose) {
2 | Schema = mongoose.Schema;
3 | var PuzzleSchema = new Schema({
4 | type:String,
5 | createby:String,
6 | feninit:String,
7 | fenfinish:String,
8 | nummoves:String,
9 | created: {
10 | type: Date,
11 | default: Date.now
12 | },
13 | corrects: {
14 | type: Number,
15 | default: 0
16 | },
17 | intents: {
18 | type: Number,
19 | default: 0
20 | }
21 | });
22 | module.exports = mongoose.model('puzzles', PuzzleSchema);
23 | }
--------------------------------------------------------------------------------
/server/models/user.server.model.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | var uniqueValidator = require('mongoose-unique-validator');
4 | exports = module.exports = function(mongoose) {
5 | Schema = mongoose.Schema;
6 | var UserSchema = new Schema({
7 | email: {
8 | type: String,
9 | match: [/.+\@.+\..+/, "invalid_email_address"],
10 | unique: true,
11 | required: 'email_required'
12 | },
13 | name: String,
14 | image: {
15 | type: String,
16 | default: '50x50defaultAvatar.png'
17 | },
18 | firstName: String,
19 | lastName: String,
20 | username: {
21 | type: String,
22 | unique: true,
23 | required: 'username_required',
24 | trim: true
25 | },
26 | password: {
27 | type: String
28 | },
29 | created: {
30 | type: Date,
31 | default: Date.now
32 | },
33 | role: String,
34 | convAbiertas: {
35 | type: Array,
36 | },
37 | age: Number,
38 | sexo: String
39 | });
40 | UserSchema.plugin(uniqueValidator,{ message: 'error_unique_{PATH}' });
41 | module.exports = mongoose.model('users', UserSchema);
42 | }
--------------------------------------------------------------------------------
/server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server",
3 | "version": "1.0.0",
4 | "description": "Server socket.io to vuejs-chess",
5 | "main": "server.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "start": "node server.js"
9 | },
10 | "keywords": [
11 | "socket"
12 | ],
13 | "author": "Gustavo",
14 | "license": "ISC",
15 | "dependencies": {
16 | "async": "^1.5.2",
17 | "bcrypt-nodejs": "0.0.3",
18 | "body-parser": "~1.0.0",
19 | "chess.js": "^0.10.0",
20 | "compression": "^1.6.2",
21 | "ejs": "~1.0.0",
22 | "engine.io-client": "^1.6.9",
23 | "express": "4.x",
24 | "express-jwt": "latest",
25 | "formidable": "^1.0.17",
26 | "hiredis": "^0.5.0",
27 | "jsonwebtoken": "latest",
28 | "moment": "^2.12.0",
29 | "mongoose": "latest",
30 | "mongoose-unique-validator": "^1.0.2",
31 | "morgan": "latest",
32 | "redis": "^2.6.2",
33 | "request": "latest",
34 | "request-ip": "^1.2.2",
35 | "socket.io": "^1.4.6",
36 | "socket.io-emitter": "^1.0.0",
37 | "socket.io-redis": "^1.0.0",
38 | "socketio-jwt": "^4.3.4"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/server/public/build/charts/44/css/core/tooltip.css:
--------------------------------------------------------------------------------
1 | /* Copyright 2012 Google Inc. All Rights Reserved. */
2 |
3 | .google-visualization-tooltip-action: hover {
4 | background-color: #eeeeee;
5 | }
6 | .google-visualization-tooltip {
7 | border:solid 1px #bdbdbd;
8 | border-radius: 2px;
9 | background-color: white;
10 | position: absolute;
11 | box-shadow: 0px 2px 2px 0px rgba(204, 204, 204, 0.6);
12 | font-size: 12px;
13 | padding: 0px;
14 | -moz-box-shadow: 0px 2px 2px 0px rgba(204, 204, 204, 0.6);
15 | -webkit-box-shadow: 0px 2px 2px 0px rgba(204, 204, 204, 0.6);
16 | }
17 | .google-visualization-tooltip-action-list {
18 | list-style-type: none;
19 | margin: 0;
20 | padding: 0.5em 0em 0.5em 0em;
21 | cursor: hand;
22 | }
23 | .google-visualization-tooltip-action {
24 | margin: 0;
25 | cursor: pointer;
26 | padding: 0.5em 2em 0.5em 1em;
27 | }
28 | .google-visualization-tooltip-action:hover {
29 | background-color: #eeeeee;
30 | }
31 | .google-visualization-tooltip-item-list {
32 | list-style-type: none;
33 | margin: 1em 0 1em 0;
34 | padding: 0em;
35 | }
36 | .google-visualization-tooltip-item {
37 | margin: 0.65em 0em 0.65em 0em;
38 | padding: 0em 2em 0em 1em;
39 | }
40 | .google-visualization-tooltip-item-list
41 | .google-visualization-tooltip-item:first-child {
42 | margin: 1em 0em 1em 0em;
43 | }
44 | .google-visualization-tooltip-separator {
45 | margin: 0;
46 | padding: 0;
47 | height: 1px;
48 | background-color: #dddddd;
49 | }
50 | .google-visualization-tooltip-square {
51 | display: inline-block;
52 | /* IE does not support inline-block fall back to float left */
53 | float: left\9;
54 | clear: none;
55 | width: 0.5em;
56 | height: 0.5em;
57 | margin: 0.16em 0.7em 0em 0em;
58 | border-bottom: solid 0.1em white;
59 | }
60 |
--------------------------------------------------------------------------------
/server/public/static/base.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Chessground base css properties, for clarity.
3 | *
4 | * You can then include either desktop.css or mobile.css.
5 | *
6 | * And you need to include the css files in themes folder in order to have the
7 | * board and pieces displayed!
8 | */
9 |
10 | .cg-board-wrap {
11 | width: 100%;
12 | height: 100%;
13 | }
14 | .cg-board {
15 | -webkit-user-select: none;
16 | -moz-user-select: none;
17 | -ms-user-select: none;
18 | user-select: none;
19 | line-height: 0;
20 | background-size: cover;
21 | position: relative;
22 | width: 100%;
23 | height: 100%;
24 | }
25 | square {
26 | position: absolute;
27 | width: 12.5%;
28 | height: 12.5%;
29 | }
30 | square[data-coord-x]::after {
31 | position: absolute;
32 | left: 1px;
33 | bottom: 1px;
34 | font-size: 10px;
35 | line-height: 10px;
36 | content: attr(data-coord-x);
37 | color: #fff;
38 | opacity: 0.5;
39 | }
40 | square[data-coord-y]::before {
41 | position: absolute;
42 | right: 1px;
43 | top: 1px;
44 | font-size: 10px;
45 | line-height: 10px;
46 | content: attr(data-coord-y);
47 | color: #fff;
48 | opacity: 0.5;
49 | }
50 | square.move-dest {
51 | background: radial-gradient(rgba(20, 85, 30, 0.5) 22%, #208530 0, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0) 0);
52 | }
53 | square.premove-dest {
54 | background: radial-gradient(rgba(20, 30, 85, 0.5) 22%, #203085 0, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0) 0);
55 | }
56 | square.last-move {
57 | background-color: rgba(155, 199, 0, 0.41);
58 | }
59 | square.selected {
60 | background-color: rgba(20, 85, 30, 0.5);
61 | }
62 | square.check {
63 | background: radial-gradient(ellipse at center, rgba(255, 0, 0, 1) 0%, rgba(231, 0, 0, 1) 25%, rgba(169, 0, 0, 0) 89%, rgba(158, 0, 0, 0) 100%);
64 | }
65 | square.current-premove {
66 | background-color: rgba(20, 30, 85, 0.5);
67 | }
68 | piece {
69 | position: absolute;
70 | bottom: 0;
71 | left: 0;
72 | width: 100%;
73 | height: 100%;
74 | background-size: cover;
75 | z-index: 2;
76 | will-change: transform;
77 | }
78 | piece.dragging {
79 | z-index: 9;
80 | }
81 | piece.ghost {
82 | opacity: 0.3;
83 | }
84 | .minimal-dom piece {
85 | position: absolute;
86 | width: 12.5%;
87 | height: 12.5%;
88 | }
89 |
--------------------------------------------------------------------------------
/server/public/static/css/google-icons/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/css/google-icons/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2
--------------------------------------------------------------------------------
/server/public/static/css/google-icons/icon.css:
--------------------------------------------------------------------------------
1 | /* fallback */
2 | @font-face {
3 | font-family: 'Material Icons';
4 | font-style: normal;
5 | font-weight: 400;
6 | src: local('Material Icons'), local('MaterialIcons-Regular'), url(2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');
7 | }
8 |
9 | .material-icons {
10 | font-family: 'Material Icons';
11 | font-weight: normal;
12 | font-style: normal;
13 | font-size: 24px;
14 | line-height: 1;
15 | letter-spacing: normal;
16 | text-transform: none;
17 | display: inline-block;
18 | white-space: nowrap;
19 | word-wrap: normal;
20 | direction: ltr;
21 | -webkit-font-feature-settings: 'liga';
22 | -webkit-font-smoothing: antialiased;
23 | }
24 |
--------------------------------------------------------------------------------
/server/public/static/desktop.css:
--------------------------------------------------------------------------------
1 | .cg-board {
2 | cursor: pointer;
3 | }
4 | .cg-board .cg-square.move-dest.drag-over,
5 | .cg-board .cg-square.premove-dest.drag-over {
6 | box-shadow: inset 0 0 10px 2px rgba(216, 85, 0, 0.9);
7 | }
8 | piece.dragging {
9 | cursor: move;
10 | }
11 |
--------------------------------------------------------------------------------
/server/public/static/font/material-design-icons/Material-Design-Icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/material-design-icons/Material-Design-Icons.eot
--------------------------------------------------------------------------------
/server/public/static/font/material-design-icons/Material-Design-Icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/material-design-icons/Material-Design-Icons.ttf
--------------------------------------------------------------------------------
/server/public/static/font/material-design-icons/Material-Design-Icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/material-design-icons/Material-Design-Icons.woff
--------------------------------------------------------------------------------
/server/public/static/font/material-design-icons/Material-Design-Icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/material-design-icons/Material-Design-Icons.woff2
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Bold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Bold.eot
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Bold.woff
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Bold.woff2
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Light.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Light.eot
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Light.ttf
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Light.woff
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Light.woff2
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Medium.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Medium.eot
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Medium.woff
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Medium.woff2
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Regular.eot
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Regular.woff
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Regular.woff2
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Thin.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Thin.eot
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Thin.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Thin.woff
--------------------------------------------------------------------------------
/server/public/static/font/roboto/Roboto-Thin.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/font/roboto/Roboto-Thin.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.def4c58.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.def4c58.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/Material-Design-Icons.2f19889.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Material-Design-Icons.2f19889.eot
--------------------------------------------------------------------------------
/server/public/static/fonts/Material-Design-Icons.3892a10.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Material-Design-Icons.3892a10.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/Material-Design-Icons.4c874dc.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Material-Design-Icons.4c874dc.woff
--------------------------------------------------------------------------------
/server/public/static/fonts/Material-Design-Icons.7f61c99.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Material-Design-Icons.7f61c99.ttf
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Bold.39b2c30.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Bold.39b2c30.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Bold.dc81817.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Bold.dc81817.woff
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Bold.e31fcf1.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Bold.e31fcf1.ttf
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Bold.ecdd509.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Bold.ecdd509.eot
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Light.3b813c2.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Light.3b813c2.woff
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Light.46e48ce.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Light.46e48ce.ttf
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Light.69f8a06.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Light.69f8a06.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Light.a990f61.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Light.a990f61.eot
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Medium.4d9f3f9.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Medium.4d9f3f9.eot
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Medium.574fd0b.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Medium.574fd0b.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Medium.894a2ed.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Medium.894a2ed.ttf
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Medium.fc78759.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Medium.fc78759.woff
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Regular.2751ee4.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Regular.2751ee4.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Regular.30799ef.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Regular.30799ef.eot
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Regular.ba3dcd8.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Regular.ba3dcd8.woff
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Regular.df7b648.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Regular.df7b648.ttf
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Thin.7500519.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Thin.7500519.woff
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Thin.9499847.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Thin.9499847.ttf
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Thin.954bbde.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Thin.954bbde.woff2
--------------------------------------------------------------------------------
/server/public/static/fonts/Roboto-Thin.dfe56a8.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/fonts/Roboto-Thin.dfe56a8.eot
--------------------------------------------------------------------------------
/server/public/static/images/board/3d/Light-Wood.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/board/3d/Light-Wood.png
--------------------------------------------------------------------------------
/server/public/static/images/board/blue2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/board/blue2.jpg
--------------------------------------------------------------------------------
/server/public/static/images/board/marble.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/board/marble.jpg
--------------------------------------------------------------------------------
/server/public/static/images/board/wood2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/board/wood2.jpg
--------------------------------------------------------------------------------
/server/public/static/images/linux-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/linux-avatar.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/bB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/bK-full.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/bK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/bN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/bQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wK-full.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/cburnett/wbK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/merida/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/merida/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/merida/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/merida/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/bB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/bK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/bN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/bQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/bB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/bK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/bN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/bQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/wB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/wK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/wN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/wQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/invert/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/wB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/wK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/wN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/wQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/pirouetti/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-Bishop-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-Bishop-Flipped.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-Bishop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-Bishop.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-King.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-King.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-Knight-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-Knight-Flipped.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-Knight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-Knight.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-Pawn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-Pawn.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-Queen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-Queen.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/Black-Rook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/Black-Rook.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-Bishop-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-Bishop-Flipped.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-Bishop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-Bishop.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-King.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-King.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-Knight-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-Knight-Flipped.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-Knight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-Knight.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-Pawn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-Pawn.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-Queen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-Queen.png
--------------------------------------------------------------------------------
/server/public/static/images/pieces/staunton/basic/White-Rook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/images/pieces/staunton/basic/White-Rook.png
--------------------------------------------------------------------------------
/server/public/static/img/2d.9ccd1d2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/2d.9ccd1d2.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-Bishop-Flipped.b96efaf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-Bishop-Flipped.b96efaf.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-Bishop.cc91265.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-Bishop.cc91265.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-King.591e986.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-King.591e986.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-Knight-Flipped.1834213.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-Knight-Flipped.1834213.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-Knight.0c897c7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-Knight.0c897c7.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-Pawn.81e5a38.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-Pawn.81e5a38.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-Queen.e157cdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-Queen.e157cdb.png
--------------------------------------------------------------------------------
/server/public/static/img/Black-Rook.759c4f5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Black-Rook.759c4f5.png
--------------------------------------------------------------------------------
/server/public/static/img/Light-Wood.697d127.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/Light-Wood.697d127.png
--------------------------------------------------------------------------------
/server/public/static/img/White-Bishop-Flipped.f66ce5f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-Bishop-Flipped.f66ce5f.png
--------------------------------------------------------------------------------
/server/public/static/img/White-Bishop.fbb218f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-Bishop.fbb218f.png
--------------------------------------------------------------------------------
/server/public/static/img/White-King.1845a2b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-King.1845a2b.png
--------------------------------------------------------------------------------
/server/public/static/img/White-Knight-Flipped.1a85578.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-Knight-Flipped.1a85578.png
--------------------------------------------------------------------------------
/server/public/static/img/White-Knight.a786aa1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-Knight.a786aa1.png
--------------------------------------------------------------------------------
/server/public/static/img/White-Pawn.6c520e9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-Pawn.6c520e9.png
--------------------------------------------------------------------------------
/server/public/static/img/White-Queen.26d99a0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-Queen.26d99a0.png
--------------------------------------------------------------------------------
/server/public/static/img/White-Rook.010f0a8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/White-Rook.010f0a8.png
--------------------------------------------------------------------------------
/server/public/static/img/blue2.bffddf3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/blue2.bffddf3.jpg
--------------------------------------------------------------------------------
/server/public/static/img/marble.cbc7735.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/marble.cbc7735.jpg
--------------------------------------------------------------------------------
/server/public/static/img/wood2.c171ff8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/server/public/static/img/wood2.c171ff8.jpg
--------------------------------------------------------------------------------
/server/public/static/js/manifest.c1d6c112ff988c8c65cb.js:
--------------------------------------------------------------------------------
1 | !function(e){function t(r){if(f[r])return f[r].exports;var n=f[r]={exports:{},id:r,loaded:!1};return e[r].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var r=window.webpackJsonp;window.webpackJsonp=function(a,c){for(var o,p,l=0,s=[];l {
2 | 'use strict';
3 | let cluster = require('cluster');
4 | let config = require('./config.js');
5 | let runServer = () => {
6 | require('./app')(process.cwd(), config, app => {
7 | app.listen(config.porthttp)
8 | });
9 | }
10 | if (config.multicore) {
11 | // Condition that checks if we are on the master process,
12 | // before creating child processes.
13 | if (cluster.isMaster) {
14 | // Fork all the workers.
15 | const numCPUs = require('os').cpus().length;
16 | console.log('numCPUs',numCPUs)
17 | // / (parseInt(process.env.CLUSTER_DIVIDER, 10) || 1);
18 | console.log('Process Master', process.pid);
19 | for (let i = 0; i < numCPUs; i++) {
20 | cluster.fork();
21 | }
22 |
23 | Object.keys(cluster.workers).forEach(id => {
24 | console.log('Running with process ID: ', cluster.workers[id].process.pid);
25 | });
26 |
27 | // arguments are worker, code, signal
28 | cluster.on('exit', worker => {
29 | const RESTART_DELAY = parseInt(process.env.RESTART_DELAY, 10) || 30000;
30 | console.log('Process ID: ' + worker.process.pid +
31 | ' died, creating new worker in ' +
32 | (RESTART_DELAY / 1000) + ' seconds');
33 | setTimeout(cluster.fork, RESTART_DELAY);
34 | });
35 | var allClustersData = {}
36 | cluster.on('message', function(someData){
37 | allClustersData[someData.name] = someData.data
38 | console.log('everywell',allClustersData)
39 | })
40 | } else {
41 | runServer()
42 | }
43 | } else {
44 | runServer()
45 | }
46 | })();
47 |
--------------------------------------------------------------------------------
/server/ssl/cert.csr:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE REQUEST-----
2 | MIIB3jCCAUcCAQAwcjELMAkGA1UEBhMCYXMxETAPBgNVBAgMCGFzZGFzZGFzMQsw
3 | CQYDVQQHDAJzZDEMMAoGA1UECgwDYXNkMQswCQYDVQQLDAJzZDEOMAwGA1UEAwwF
4 | c2Rhc2QxGDAWBgkqhkiG9w0BCQEWCWFzZGFzZGFzZDCBnzANBgkqhkiG9w0BAQEF
5 | AAOBjQAwgYkCgYEAsZwY1qcGTxBYzjz7t6WjEKV2AG16gWOw2a2ndBKKE9ozntkK
6 | KpKGjCLrgNF7+lIl2mibtg2Fw4kWAykHhke7/fu9qcFzVEwBidum+uYlgGTCykoT
7 | R7XahoL2dMklrWJ8W1C6CSCvdx1PomsKJ89+OtqyZ2MprIMv5Tn4lCh+m4UCAwEA
8 | AaAsMBQGCSqGSIb3DQEJAjEHDAVhc2RmZzAUBgkqhkiG9w0BCQcxBwwFYXNkZmcw
9 | DQYJKoZIhvcNAQELBQADgYEAa/ZCkVH0L4Zc4+dbF0bGrLtHzo2w3Kja8/o/tk7V
10 | IDkv9fg42cfC6AtBgooC/L9SjlGSzG+8XS5FKmOfkJGG41Vw7VHrgEJpkwiGr0us
11 | WmqBqpvmBRXKucgliMSw6AP5XxLvSukLmFQi1+Wcf6HwerdcGIEAtiP8Bf0haa2T
12 | 3AA=
13 | -----END CERTIFICATE REQUEST-----
14 |
--------------------------------------------------------------------------------
/server/ssl/certificate.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICWzCCAcQCCQC4YB8X0cur6DANBgkqhkiG9w0BAQsFADByMQswCQYDVQQGEwJh
3 | czERMA8GA1UECAwIYXNkYXNkYXMxCzAJBgNVBAcMAnNkMQwwCgYDVQQKDANhc2Qx
4 | CzAJBgNVBAsMAnNkMQ4wDAYDVQQDDAVzZGFzZDEYMBYGCSqGSIb3DQEJARYJYXNk
5 | YXNkYXNkMB4XDTE2MDYyMjEyNDg1MVoXDTE2MDcyMjEyNDg1MVowcjELMAkGA1UE
6 | BhMCYXMxETAPBgNVBAgMCGFzZGFzZGFzMQswCQYDVQQHDAJzZDEMMAoGA1UECgwD
7 | YXNkMQswCQYDVQQLDAJzZDEOMAwGA1UEAwwFc2Rhc2QxGDAWBgkqhkiG9w0BCQEW
8 | CWFzZGFzZGFzZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsZwY1qcGTxBY
9 | zjz7t6WjEKV2AG16gWOw2a2ndBKKE9ozntkKKpKGjCLrgNF7+lIl2mibtg2Fw4kW
10 | AykHhke7/fu9qcFzVEwBidum+uYlgGTCykoTR7XahoL2dMklrWJ8W1C6CSCvdx1P
11 | omsKJ89+OtqyZ2MprIMv5Tn4lCh+m4UCAwEAATANBgkqhkiG9w0BAQsFAAOBgQAr
12 | vLQr+R5ntkCRx7AB70QzkKsc2CiHzzSF5mPkK5bnsThS3sAVGrmVPQiVgBfCVy0h
13 | TbHMqob7wcKxYTkFVJz5OGa3tP1YkYzb0dHf/Lk/rRS5p5bVTSfNeVmC/A8kxjtS
14 | jdMs1oy/fDXPcf9N9HkXg6M3C9YqbZDqRFWHhiVsWA==
15 | -----END CERTIFICATE-----
16 |
--------------------------------------------------------------------------------
/server/ssl/generatessl:
--------------------------------------------------------------------------------
1 | openssl genrsa 1024 > private.key
2 | openssl req -new -key private.key -out cert.csr
3 | openssl x509 -req -in cert.csr -signkey private.key -out certificate.pem
4 |
--------------------------------------------------------------------------------
/server/ssl/private.key:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXAIBAAKBgQCxnBjWpwZPEFjOPPu3paMQpXYAbXqBY7DZrad0EooT2jOe2Qoq
3 | koaMIuuA0Xv6UiXaaJu2DYXDiRYDKQeGR7v9+72pwXNUTAGJ26b65iWAZMLKShNH
4 | tdqGgvZ0ySWtYnxbULoJIK93HU+iawonz3462rJnYymsgy/lOfiUKH6bhQIDAQAB
5 | AoGABOs0yOURSKlEPFn2Aq0EqhZbAUIG7YRsRmsHwzAsQMZ/PXv3SxyJu2HQMd4b
6 | V+BkifrxrQYM2VB3mpjNS4u7Cg7NzXZKtFfjziRJryqLzZoJ3KR3VXJte1GMThge
7 | qWxRT+VAui2WdGi70gEh+bEkVgxDvnti4HWGmsoupYWxqOECQQDpalHx3KNe3+CE
8 | gHLtIZ0FWlqX+A03eRYuJkCfWTDsN4JZduOdWYiInJvUGnW2Nrk3yD5AlfiH2SLD
9 | v3xwcU+NAkEAwst6NoeCcCSed3mLLy52pd2w9EK73gU63s9oboXi3WlZPSI4ysHV
10 | TpESBWD7JPt0k0mvZK1lOItTWNLgGTUh2QJBAL0LjljcQTj7C6VlPy+NlNYcCtmg
11 | Xlv6Zxtzgc1NeJEomBsLbmgndqxmYtMTpxiwE6z5MmouzL6B/2UY9pk/PJUCQAym
12 | ailgY3gk6KWZnxBRVCMxYmx6aPjiHhCaJ44F49W9Ia52qnmAXPndMe5nfefI7Kkj
13 | /9/p4sjpQ2BhUWxRpwECQEn11UGX3sn0By4HqJaBnTNWC/g4oYUU2jiHQhBT+yf4
14 | BL2P3WJ+uqvWIPMdbm71++eTjJ61fYy+bvJ2+NDO5o0=
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/server/views/client.html:
--------------------------------------------------------------------------------
1 | VueJsChess
--------------------------------------------------------------------------------
/src/assets/2d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/src/assets/2d.png
--------------------------------------------------------------------------------
/src/assets/50x50defaultAvatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/src/assets/50x50defaultAvatar.png
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/src/assets/logo.png
--------------------------------------------------------------------------------
/src/components/boardVisor/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
15 | {{ $t("visor.whiteName") }}
16 |
17 |
18 |
24 | {{ $t("visor.blackName") }}
25 |
26 |
27 |
28 |
29 |
31 | {{ board.u1}} vs {{ board.u2}} |
32 | G. {{ board.wins}} M.{{ board.motiv }} |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
52 |
53 |
--------------------------------------------------------------------------------
/src/components/createServer/index.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
18 |
--------------------------------------------------------------------------------
/src/components/createServer/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 | Nombre de servidor
7 | account_circle
8 |
9 |
10 | Cantidad de usuarios permitidos
11 | account_circle
12 |
13 |
14 |
15 | Descripcion:
16 | account_circle
17 |
18 |
19 |
20 |
21 | Encender
22 | Apagar
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/components/game/userCard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
![]()
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/components/home/bodyMen.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ men.send }}
6 |
7 | close
8 | edit
9 | {{ men.created | moment 'MMMM Do YYYY, h:mm:ss a'}}
10 |
11 |
{{ men.body }}
12 |
13 |
![]()
16 |
{{men.body.name}}
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/components/multiplayer/index.vue:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
19 |
--------------------------------------------------------------------------------
/src/components/multiplayer/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Nombre |
8 | Direccion |
9 | Usuarios |
10 |
11 |
12 |
13 |
14 | Servidor 1 |
15 | Servidor 2 |
16 | Servidor 3 |
17 |
18 |
19 |
20 |
21 |
22 | BOTTOM
23 |
24 |
25 | add
26 |
27 |
28 | insert_chart
29 |
30 |
31 |
32 |
33 | format_quote
34 |
35 |
36 |
37 |
38 | publish
39 |
40 |
41 |
42 |
43 | attach_file
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/components/user/account/data.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 | cloud
10 | {{ $t("account.personalData.edit") }}
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/components/user/account/personalData.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ $t("account.personalData.name") }}
7 | {{user.name}} {{user.fistlastname}} {{ user.secondlastname }}
8 |
9 | {{ $t("account.personalData.username") }}
10 |
11 |
12 | {{ $t("account.personalData.email") }}
13 | {{user.email}}
14 |
15 | {{ $t("account.personalData.created") }}
16 | {{ user.created | moment 'MMMM Do YYYY, h:mm:ss a'}}
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/components/user/account/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{user.name || user.username}}
8 |
9 |
10 |
![]()
11 |
12 |
20 | edit
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | {{ $t("account.personalData.title") }}
30 | send
31 |
32 |
33 | {{ $t("account.activity.title") }}
34 | send
35 |
36 |
37 | Configuraciones
38 | send
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/directives/bind-boolean.js:
--------------------------------------------------------------------------------
1 | // removed DirectiveOption because priority is not boolean
2 | var bindBoolean = {
3 | priority: 850,
4 | update: function (value) {
5 | var arg = this.arg
6 | if (value) {
7 | this.el.setAttribute(arg, arg)
8 | } else {
9 | this.el.removeAttribute(arg)
10 | }
11 | }
12 | }
13 | export default bindBoolean
14 |
--------------------------------------------------------------------------------
/src/directives/vue.pretty-bytes.js:
--------------------------------------------------------------------------------
1 | /* globals Vue */
2 | // optional filter for formatting the bytes in the view
3 | Vue.filter('prettyBytes', function (num) {
4 | // jacked from: https://github.com/sindresorhus/pretty-bytes
5 | if (typeof num !== 'number' || isNaN(num)) {
6 | throw new TypeError('Expected a number');
7 | }
8 |
9 | var exponent;
10 | var unit;
11 | var neg = num < 0;
12 | var units = ['B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
13 |
14 | if (neg) {
15 | num = -num;
16 | }
17 |
18 | if (num < 1) {
19 | return (neg ? '-' : '') + num + ' B';
20 | }
21 |
22 | exponent = Math.min(Math.floor(Math.log(num) / Math.log(1000)), units.length - 1);
23 | num = (num / Math.pow(1000, exponent)).toFixed(2) * 1;
24 | unit = units[exponent];
25 |
26 | return (neg ? '-' : '') + num + ' ' + unit;
27 | });
--------------------------------------------------------------------------------
/src/services/board.js:
--------------------------------------------------------------------------------
1 | import Storage from './lstorage'
2 | export default {
3 | filter (ctx, data) {
4 | return ctx.$http.post(Storage.get('serverDir') + '/board/filter', data).then(r => {
5 | if (r.status === 200) {
6 | return r.text()
7 | } else {
8 | return r.text().then(d => {
9 | throw d
10 | })
11 | }
12 | })
13 | },
14 | stats (ctx, data) {
15 | return ctx.$http.get(Storage.get('serverDir') + '/board/stats' + this.urlGetParms(data)).then(r => {
16 | if (r.status === 200) {
17 | return r.text()
18 | } else {
19 | return r.text().then(d => {
20 | throw d
21 | })
22 | }
23 | })
24 | },
25 | urlGetParms (data) {
26 | var parms = '?'
27 | for (var key in data) {
28 | parms += (parms === '?' ? '' : '&') + key + '=' + data[key]
29 | }
30 | return parms
31 | },
32 | boardParms: Storage.get('parmsBoard'),
33 | setParms (parms) {
34 | this.boardParms = parms
35 | Storage.set('parmsBoard', parms)
36 | }
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/src/services/lenguajes.js:
--------------------------------------------------------------------------------
1 | export default {
2 | lenguajes: [
3 | {
4 | label: 'Español',
5 | value: 'es'
6 | },
7 | {
8 | label: 'Ingles',
9 | value: 'en'
10 | }
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/src/services/lstorage.js:
--------------------------------------------------------------------------------
1 | export default {
2 | prefix: 'appName',
3 | lStorage: window.localStorage,
4 | setPrefix (name) {
5 | this.prefix = name
6 | },
7 | get (name, value = false) {
8 | if (this.lStorage.getItem(this.prefix + '-' + name)) {
9 | return JSON.parse(this.lStorage.getItem(this.prefix + '-' + name))
10 | } else {
11 | return this.set(name, value)
12 | }
13 | },
14 | set (name, data) {
15 | this.lStorage.setItem(this.prefix + '-' + name, JSON.stringify(data))
16 | return this.get(name)
17 | },
18 | del (name) {
19 | this.lStorage.removeItem(this.prefix + '-' + name)
20 | },
21 | clearLocal (reload = false) {
22 | var prefixRegex = new RegExp('^' + this.prefix)
23 | var store = this.lStorage
24 | Object.keys(store).forEach((key) => {
25 | if (prefixRegex.test(key)) {
26 | store.removeItem(key)
27 | }
28 | })
29 | if (reload) {
30 | window.location.reload()
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/services/puzzle.js:
--------------------------------------------------------------------------------
1 | import Storage from './lstorage'
2 | export default {
3 | add (ctx, data) {
4 | return ctx.$http.post(Storage.get('serverDir') + '/puzzle', data).then(r => {
5 | if (r.status === 200) {
6 | return r.text()
7 | } else {
8 | return r.text().then(d => {
9 | throw d
10 | })
11 | }
12 | })
13 | },
14 | del (ctx, data) {
15 | return ctx.$http.delete(Storage.get('serverDir') + '/puzzle/del/' + data).then(r => {
16 | if (r.status === 200) {
17 | return r.text()
18 | } else {
19 | return r.text().then(d => {
20 | throw d
21 | })
22 | }
23 | })
24 | },
25 | get (ctx, data) {
26 | return ctx.$http.post(Storage.get('serverDir') + '/puzzle/get', data).then(r => {
27 | if (r.status === 200) {
28 | return r.text()
29 | } else {
30 | return r.text().then(d => {
31 | throw d
32 | })
33 | }
34 | })
35 | },
36 | count (ctx) {
37 | return ctx.$http.get(Storage.get('serverDir') + '/puzzle/get').then(r => {
38 | if (r.status === 200) {
39 | return r.text()
40 | } else {
41 | return r.text().then(d => {
42 | throw d
43 | })
44 | }
45 | })
46 | },
47 | resolve (ctx, data) {
48 | return ctx.$http.put(Storage.get('serverDir') + '/puzzle/get', data).then(r => {
49 | if (r.status === 200) {
50 | return r.text()
51 | } else {
52 | return r.text().then(d => {
53 | throw d
54 | })
55 | }
56 | })
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/src/services/user.js:
--------------------------------------------------------------------------------
1 | import Storage from './lstorage'
2 | export default {
3 | authenticate (ctx, data) {
4 | return ctx.$http.post(Storage.get('serverDir') + '/user/authenticate', data)
5 | },
6 | signin (ctx, data) {
7 | if (data._id) {
8 | return ctx.$http.put(Storage.get('serverDir') + '/user/signin', data)
9 | } else {
10 | return ctx.$http.post(Storage.get('serverDir') + '/user/signin', data)
11 | }
12 | },
13 | deleteImage (ctx, data) {
14 | return ctx.$http.put(Storage.get('serverDir') + '/chat/upload', data).then(r => {
15 | if (r.status === 200) {
16 | return r.text()
17 | } else {
18 | return r.text().then(d => {
19 | throw d
20 | })
21 | }
22 | })
23 | },
24 | user: null,
25 | userShow: {},
26 | setUserShow (some) {
27 | this.userShow = some
28 | },
29 | getUser () {
30 | return Storage.get('user')
31 | },
32 | setUser (newUser) {
33 | this.user = Storage.set('user', newUser)
34 | },
35 | get (ctx, data) {
36 | return ctx.$http.get(Storage.get('serverDir') + '/user/' + data).then(r => {
37 | if (r.status === 200) {
38 | return r.text()
39 | } else {
40 | return r.text().then(d => {
41 | throw d
42 | })
43 | }
44 | })
45 | },
46 | testUser (ctx, data) {
47 | return ctx.$http.post(Storage.get('serverDir') + '/user/test', data).then(r => {
48 | if (r.status === 200) {
49 | return r.text()
50 | } else {
51 | return r.text().then(d => {
52 | throw d
53 | })
54 | }
55 | })
56 | },
57 | logout () {
58 | Storage.clearLocal(true)
59 | this.user = null
60 | },
61 | init () {
62 | this.user = Storage.get('user')
63 | },
64 | user_acces (perm = 'authenticate') {
65 | if (this.getUser() && perm !== 'authenticate') {
66 | return this.user.rol === perm
67 | }
68 | if (perm === 'authenticate') {
69 | if (this.getUser()) {
70 | return true
71 | }
72 | }
73 | return false
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/src/vuex/actions.js:
--------------------------------------------------------------------------------
1 | export const boardGameMove = makeAction('MOVE')
2 | export const boardGameTurn = makeAction('TURN')
3 | export const boardGameCountDown = makeAction('COUNTDOWN')
4 | export const setUser = makeAction('SETUSER')
5 | function makeAction (type) {
6 | return ({ dispatch }, ...args) => dispatch(type, ...args)
7 | }
8 |
--------------------------------------------------------------------------------
/src/vuex/getters.js:
--------------------------------------------------------------------------------
1 | export function getGamePgn (state) {
2 | return state.boards.pgn
3 | }
4 | export function getGameTurn (state) {
5 | return state.boards.turn
6 | }
7 | export function getUser (state) {
8 | return state.user.user
9 | }
10 | export function getGameTimesUsers (state) {
11 | const times = {
12 | white: state.boards.twhite,
13 | black: state.boards.tblack
14 | }
15 | return times
16 | }
17 |
--------------------------------------------------------------------------------
/src/vuex/modules/boards.js:
--------------------------------------------------------------------------------
1 | import {} from '../mutation-types'
2 | const state = {
3 | pgn: 'none',
4 | turn: 'none',
5 | twhite: 60 * 1,
6 | tblack: 60 * 1
7 | }
8 | const mutations = {
9 | MOVE (state, newPgn) {
10 | state.pgn = newPgn
11 | },
12 | TURN (state, turnNow) {
13 | state.turn = turnNow
14 | },
15 | COUNTDOWN (state, time, color) {
16 | state['t' + color] = time
17 | }
18 | }
19 |
20 | export default {
21 | state,
22 | mutations
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/vuex/modules/index.js:
--------------------------------------------------------------------------------
1 | const files = require.context('.', false, /\.js$/)
2 | let modules = {}
3 |
4 | files.keys().forEach((key) => {
5 | if (key === './index.js') return
6 | modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default
7 | })
8 |
9 | export default modules
10 |
--------------------------------------------------------------------------------
/src/vuex/modules/user.js:
--------------------------------------------------------------------------------
1 | import {} from '../mutation-types'
2 | const state = {
3 | user: {}
4 | }
5 | const mutations = {
6 | SETUSER (state, newValue, key) {
7 | if (key) {
8 | state.user[key] = newValue
9 | } else {
10 | state.user = newValue
11 | }
12 | }
13 | }
14 |
15 | export default {
16 | state,
17 | mutations
18 | }
19 |
--------------------------------------------------------------------------------
/src/vuex/mutation-types.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/src/vuex/mutation-types.js
--------------------------------------------------------------------------------
/src/vuex/store.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 | import modules from './modules'
4 |
5 | Vue.use(Vuex)
6 |
7 | export default new Vuex.Store({
8 | modules,
9 | strict: true
10 | })
11 |
--------------------------------------------------------------------------------
/static/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/.gitkeep
--------------------------------------------------------------------------------
/static/base.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Chessground base css properties, for clarity.
3 | *
4 | * You can then include either desktop.css or mobile.css.
5 | *
6 | * And you need to include the css files in themes folder in order to have the
7 | * board and pieces displayed!
8 | */
9 |
10 | .cg-board-wrap {
11 | width: 100%;
12 | height: 100%;
13 | }
14 | .cg-board {
15 | -webkit-user-select: none;
16 | -moz-user-select: none;
17 | -ms-user-select: none;
18 | user-select: none;
19 | line-height: 0;
20 | background-size: cover;
21 | position: relative;
22 | width: 100%;
23 | height: 100%;
24 | }
25 | square {
26 | position: absolute;
27 | width: 12.5%;
28 | height: 12.5%;
29 | }
30 | square[data-coord-x]::after {
31 | position: absolute;
32 | left: 1px;
33 | bottom: 1px;
34 | font-size: 10px;
35 | line-height: 10px;
36 | content: attr(data-coord-x);
37 | color: #fff;
38 | opacity: 0.5;
39 | }
40 | square[data-coord-y]::before {
41 | position: absolute;
42 | right: 1px;
43 | top: 1px;
44 | font-size: 10px;
45 | line-height: 10px;
46 | content: attr(data-coord-y);
47 | color: #fff;
48 | opacity: 0.5;
49 | }
50 | square.move-dest {
51 | background: radial-gradient(rgba(20, 85, 30, 0.5) 22%, #208530 0, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0) 0);
52 | }
53 | square.premove-dest {
54 | background: radial-gradient(rgba(20, 30, 85, 0.5) 22%, #203085 0, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0) 0);
55 | }
56 | square.last-move {
57 | background-color: rgba(155, 199, 0, 0.41);
58 | }
59 | square.selected {
60 | background-color: rgba(20, 85, 30, 0.5);
61 | }
62 | square.check {
63 | background: radial-gradient(ellipse at center, rgba(255, 0, 0, 1) 0%, rgba(231, 0, 0, 1) 25%, rgba(169, 0, 0, 0) 89%, rgba(158, 0, 0, 0) 100%);
64 | }
65 | square.current-premove {
66 | background-color: rgba(20, 30, 85, 0.5);
67 | }
68 | piece {
69 | position: absolute;
70 | bottom: 0;
71 | left: 0;
72 | width: 100%;
73 | height: 100%;
74 | background-size: cover;
75 | z-index: 2;
76 | will-change: transform;
77 | }
78 | piece.dragging {
79 | z-index: 9;
80 | }
81 | piece.ghost {
82 | opacity: 0.3;
83 | }
84 | .minimal-dom piece {
85 | position: absolute;
86 | width: 12.5%;
87 | height: 12.5%;
88 | }
89 |
--------------------------------------------------------------------------------
/static/css/google-icons/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/css/google-icons/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2
--------------------------------------------------------------------------------
/static/css/google-icons/icon.css:
--------------------------------------------------------------------------------
1 | /* fallback */
2 | @font-face {
3 | font-family: 'Material Icons';
4 | font-style: normal;
5 | font-weight: 400;
6 | src: local('Material Icons'), local('MaterialIcons-Regular'), url(2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');
7 | }
8 |
9 | .material-icons {
10 | font-family: 'Material Icons';
11 | font-weight: normal;
12 | font-style: normal;
13 | font-size: 24px;
14 | line-height: 1;
15 | letter-spacing: normal;
16 | text-transform: none;
17 | display: inline-block;
18 | white-space: nowrap;
19 | word-wrap: normal;
20 | direction: ltr;
21 | -webkit-font-feature-settings: 'liga';
22 | -webkit-font-smoothing: antialiased;
23 | }
24 |
--------------------------------------------------------------------------------
/static/desktop.css:
--------------------------------------------------------------------------------
1 | .cg-board {
2 | cursor: pointer;
3 | }
4 | .cg-board .cg-square.move-dest.drag-over,
5 | .cg-board .cg-square.premove-dest.drag-over {
6 | box-shadow: inset 0 0 10px 2px rgba(216, 85, 0, 0.9);
7 | }
8 | piece.dragging {
9 | cursor: move;
10 | }
11 |
--------------------------------------------------------------------------------
/static/font/material-design-icons/Material-Design-Icons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/material-design-icons/Material-Design-Icons.eot
--------------------------------------------------------------------------------
/static/font/material-design-icons/Material-Design-Icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/material-design-icons/Material-Design-Icons.ttf
--------------------------------------------------------------------------------
/static/font/material-design-icons/Material-Design-Icons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/material-design-icons/Material-Design-Icons.woff
--------------------------------------------------------------------------------
/static/font/material-design-icons/Material-Design-Icons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/material-design-icons/Material-Design-Icons.woff2
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Bold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Bold.eot
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Bold.woff
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Bold.woff2
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Light.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Light.eot
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Light.ttf
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Light.woff
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Light.woff2
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Medium.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Medium.eot
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Medium.woff
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Medium.woff2
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Regular.eot
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Regular.woff
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Regular.woff2
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Thin.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Thin.eot
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Thin.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Thin.woff
--------------------------------------------------------------------------------
/static/font/roboto/Roboto-Thin.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/font/roboto/Roboto-Thin.woff2
--------------------------------------------------------------------------------
/static/images/board/3d/Light-Wood.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/board/3d/Light-Wood.png
--------------------------------------------------------------------------------
/static/images/board/blue2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/board/blue2.jpg
--------------------------------------------------------------------------------
/static/images/board/marble.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/board/marble.jpg
--------------------------------------------------------------------------------
/static/images/board/wood2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/board/wood2.jpg
--------------------------------------------------------------------------------
/static/images/linux-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/linux-avatar.png
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/bB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/bK-full.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/bK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/bN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/bQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wK-full.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/cburnett/wbK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/merida/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/merida/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/merida/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/merida/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/bB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/bK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/bN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/bQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/bB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/bK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/bN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/bP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/bQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/bR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/wB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/wK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/wN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/wQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/invert/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/wB.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/wK.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/wN.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/wP.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/wQ.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/pirouetti/wR.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-Bishop-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-Bishop-Flipped.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-Bishop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-Bishop.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-King.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-King.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-Knight-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-Knight-Flipped.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-Knight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-Knight.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-Pawn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-Pawn.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-Queen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-Queen.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/Black-Rook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/Black-Rook.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-Bishop-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-Bishop-Flipped.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-Bishop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-Bishop.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-King.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-King.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-Knight-Flipped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-Knight-Flipped.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-Knight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-Knight.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-Pawn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-Pawn.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-Queen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-Queen.png
--------------------------------------------------------------------------------
/static/images/pieces/staunton/basic/White-Rook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gustaYo/vue-chess/13d50b67f1e0bfe1897c1bf68fbb133c62d9ffbf/static/images/pieces/staunton/basic/White-Rook.png
--------------------------------------------------------------------------------
/static/mobile.css:
--------------------------------------------------------------------------------
1 | .cg-square.selected {
2 | background: rgba(216, 85, 0, 0.3);
3 | }
4 | piece.dragging {
5 | width: 200%;
6 | height: 200%;
7 | top: -22.5px;
8 | left: -22.5px;
9 | }
10 | #cg-square-target {
11 | position: absolute;
12 | background-color: rgba(0, 0, 0, 0.2);
13 | border-radius: 50%;
14 | -webkit-transform: translate3d(0,0,0);
15 | z-index: 9;
16 | }
17 |
--------------------------------------------------------------------------------
/static/style.css:
--------------------------------------------------------------------------------
1 | html, body {
2 | margin:0;
3 | min-height: 100vh;
4 | height: 100vh;
5 |
6 |
7 | }
8 | body {
9 | margin:0;
10 | display: flex;
11 | flex-direction: column;
12 | min-height: 100vh;
13 | height: 100vh;
14 |
15 |
16 |
17 | }
18 | header {
19 | order: 1;
20 | flex-shrink: 0;
21 | flex-basis: 50px;
22 | background:red;
23 | }
24 | article {
25 | order: 2;
26 | overflow-y: scroll;
27 | background:green;
28 | flex-grow: 1;
29 | }
30 | footer {
31 | order: 3;
32 |
33 | flex-basis: 50px;
34 | min-height:50px;
35 | background:blue;
36 |
37 |
38 |
39 | }
40 |
41 | #ground1{
42 | width:400px;
43 | height:400px;
44 | }
--------------------------------------------------------------------------------
/test/e2e/custom-assertions/elementCount.js:
--------------------------------------------------------------------------------
1 | // A custom Nightwatch assertion.
2 | // the name of the method is the filename.
3 | // can be used in tests like this:
4 | //
5 | // browser.assert.elementCount(selector, count)
6 | //
7 | // for how to write custom assertions see
8 | // http://nightwatchjs.org/guide#writing-custom-assertions
9 | exports.assertion = function (selector, count) {
10 | this.message = 'Testing if element <' + selector + '> has count: ' + count
11 | this.expected = count
12 | this.pass = function (val) {
13 | return val === this.expected
14 | }
15 | this.value = function (res) {
16 | return res.value
17 | }
18 | this.command = function (cb) {
19 | var self = this
20 | return this.api.execute(function (selector) {
21 | return document.querySelectorAll(selector).length
22 | }, [selector], function (res) {
23 | cb.call(self, res)
24 | })
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/test/e2e/nightwatch.conf.js:
--------------------------------------------------------------------------------
1 | // http://nightwatchjs.org/guide#settings-file
2 | module.exports = {
3 | "src_folders": ["test/e2e/specs"],
4 | "output_folder": "test/e2e/reports",
5 | "custom_assertions_path": ["test/e2e/custom-assertions"],
6 |
7 | "selenium": {
8 | "start_process": true,
9 | "server_path": "node_modules/selenium-server/lib/runner/selenium-server-standalone-2.53.0.jar",
10 | "host": "127.0.0.1",
11 | "port": 4444,
12 | "cli_args": {
13 | "webdriver.chrome.driver": require('chromedriver').path
14 | }
15 | },
16 |
17 | "test_settings": {
18 | "default": {
19 | "selenium_port": 4444,
20 | "selenium_host": "localhost",
21 | "silent": true
22 | },
23 |
24 | "chrome": {
25 | "desiredCapabilities": {
26 | "browserName": "chrome",
27 | "javascriptEnabled": true,
28 | "acceptSslCerts": true
29 | }
30 | },
31 |
32 | "firefox": {
33 | "desiredCapabilities": {
34 | "browserName": "firefox",
35 | "javascriptEnabled": true,
36 | "acceptSslCerts": true
37 | }
38 | }
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/test/e2e/runner.js:
--------------------------------------------------------------------------------
1 | // 1. start the dev server using production config
2 | process.env.NODE_ENV = 'testing'
3 | var server = require('../../build/dev-server.js')
4 |
5 | // 2. run the nightwatch test suite against it
6 | // to run in additional browsers:
7 | // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
8 | // 2. add it to the --env flag below
9 | // For more information on Nightwatch's config file, see
10 | // http://nightwatchjs.org/guide#settings-file
11 | var spawn = require('cross-spawn')
12 | var runner = spawn(
13 | './node_modules/.bin/nightwatch',
14 | [
15 | '--config', 'test/e2e/nightwatch.conf.js',
16 | '--env', 'chrome,firefox'
17 | ],
18 | {
19 | stdio: 'inherit'
20 | }
21 | )
22 |
23 | runner.on('exit', function (code) {
24 | server.close()
25 | process.exit(code)
26 | })
27 |
28 | runner.on('error', function (err) {
29 | server.close()
30 | throw err
31 | })
32 |
--------------------------------------------------------------------------------
/test/e2e/specs/test.js:
--------------------------------------------------------------------------------
1 | // For authoring Nightwatch tests, see
2 | // http://nightwatchjs.org/guide#usage
3 |
4 | module.exports = {
5 | 'default e2e tests': function (browser) {
6 | browser
7 | .url('http://localhost:8080')
8 | .waitForElementVisible('#app', 5000)
9 | .assert.elementPresent('.logo')
10 | .assert.containsText('h1', 'Hello World!')
11 | .assert.elementCount('p', 3)
12 | .end()
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/test/unit/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "mocha": true
4 | },
5 | "globals": {
6 | "expect": true,
7 | "sinon": true
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/test/unit/index.js:
--------------------------------------------------------------------------------
1 | // Polyfill fn.bind() for PhantomJS
2 | /* eslint-disable no-extend-native */
3 | Function.prototype.bind = require('function-bind')
4 |
5 | // require all test files (files that ends with .spec.js)
6 | var testsContext = require.context('./specs', true, /\.spec$/)
7 | testsContext.keys().forEach(testsContext)
8 |
9 | // require all src files except main.js for coverage.
10 | // you can also change this to match only the subset of files that
11 | // you want coverage for.
12 | var srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
13 | srcContext.keys().forEach(srcContext)
14 |
--------------------------------------------------------------------------------
/test/unit/specs/Hello.spec.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Hello from 'src/components/Hello'
3 |
4 | describe('Hello.vue', () => {
5 | it('should render correct contents', () => {
6 | const vm = new Vue({
7 | template: '
',
8 | components: { Hello }
9 | }).$mount()
10 | expect(vm.$el.querySelector('.hello h1').textContent).to.contain('Hello World!')
11 | })
12 | })
13 |
--------------------------------------------------------------------------------