1 Use better-sqlite3 instead of node-sqlite3:
2 https://www.npmjs.com/package/better-sqlite3
4 Canvas for hexagonal board Vue reactivity :
5 https://stackoverflow.com/questions/40177493/drawing-onto-a-canvas-with-vue-js
9 https://developer.mozilla.org/fr/docs/Web/API/notification
12 https://alligator.io/vuejs/component-communication/
13 https://alligator.io/vuejs/global-event-bus/
15 CRON task remove unlogged users, finished corr games after 7 days, individual challenges older than 7 days
17 tell opponent that I got the move, for him to start timer (and lose...)
18 --> no, not needed and impossible if everybody is offline
19 ==> just store this time locally (cheating possible but...)
20 board2, board3, board4
21 VariantRules2, 3 et 4 aussi
22 fetch challenges and corr games from server at startup (room)
23 but forbid anonymous to start corr games or accept challenges
25 Dans variant page, "mes parties" peut toujours contenir corr + importées (deux onglets)
26 En fin de partie (observée ou non), bouton "import game" en + de "download game" ==> directement dans indexedDB
27 --> sursis de 7 jours pour les parties par correspondance, qui sont encore chargées depuis le serveur
29 mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5
32 // TODO: decodeURIComponent() for GET/DELETE parameters
34 2) Integrate computer play into rules tab
35 3) Allow correspondance play (no need for P2P: online moves through the server (which also store them))
36 4) Write my-games tab (included current/finished/imported)
37 Use Dexie.js, or anything to store games locally
39 Use this: https://github.com/feross/simple-peer for online games+challenges+chat
40 6) Test... and publish
42 Finish rules translation in Spanish + improve existing ones
43 Design: final touch (gain extra space on top, using space on the right)
44 Crazyhouse: center reserves, grey if zero available, numbers superimposed
45 Promotions: increase pieces sizes, better background.
46 Code: use two spaces instead of tabs, everywhere.
47 Increase code line length to 100 or more?
48 (http://katafrakt.me/2017/09/16/80-characters-line-length-limit/)
49 Chat button should be more apparent after game ends (color ?)
50 Reinforce security for problems upload (how ?)
53 Let choice of time control, allow correspondance play, several corr games at the same time
54 ==> need to use indexedDB instead of localStorage. Maybe with Dexie https://dexie.org/
55 Each user would have a unique identifier stored in the client DB.
56 Allow to cancel games (if opponent doesn't connect again)
57 Live games storage would be browser-based: different games on smartphone, home computer, work computer... (why not ?)
58 ==> (at most 1) running, and finished (which can be deleted from local memory)
59 Allow challenging a specific player (by his chosen name)
60 But keep the random pairings as main playing way + always playing in ZEN mode
62 style menu : surligner onglet courant
65 - newGame: une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game")
67 Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible)
68 mais permettrait mode analyse (avec bouton "analyse", comme sur ancien site).
70 espagnol : jugada ou movimiento ?
71 fin de la partida au lieu de final de partida ?
73 Bouton new game ==> human only. Indiquer adversaire (éventuellement), cadence (ou "infini")
74 Mode analyse : accessible à tout moment d'une partie (HH, ou computer) terminée + bouton "analyze from here" (sur parties observées)
76 Coordonnées sur échiquier: sur cases, à gauche (verticale) ou en bas (horizontale)
78 Import game : en local dans indexedDb, affichage dans "Games --> Imported"
80 Checkered : si intervention d'un 3eme joueur, initialiser son temps à la moyenne des temps restants des deux autres... ?
82 Mode contre ordinateur : seulement accessible depuis onglet "Rules" (son principal intérêt)
84 Hexachess: McCooey et Shafran (deux tailles, randomisation OK)
85 http://www.math.bas.bg/~iad/tyalie/shegra/shegrax.html
86 http://www.quadibloc.com/chess/ch0401.htm
88 Inspiration for refactor:
89 https://github.com/triestpa/Vue-Chess/blob/master/src/components/chessboard/chessboard.js
90 https://github.com/gustaYo/vue-chess