Separate client and server codes. Keep everything in one git repo for simplicity
[vchess.git] / _tmp / TODO
... / ...
CommitLineData
1Use better-sqlite3 instead of node-sqlite3:
2https://www.npmjs.com/package/better-sqlite3
3
4Canvas for hexagonal board Vue reactivity :
5https://stackoverflow.com/questions/40177493/drawing-onto-a-canvas-with-vue-js
6custom directives ?
7
8Desktop notifications:
9https://developer.mozilla.org/fr/docs/Web/API/notification
10
11Think about this:
12https://alligator.io/vuejs/component-communication/
13https://alligator.io/vuejs/global-event-bus/
14
15CRON task remove unlogged users, finished corr games after 7 days, individual challenges older than 7 days
16
17tell 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...)
20board2, board3, board4
21VariantRules2, 3 et 4 aussi
22fetch challenges and corr games from server at startup (room)
23but forbid anonymous to start corr games or accept challenges
24
25Dans variant page, "mes parties" peut toujours contenir corr + importées (deux onglets)
26En 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
28
29mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5
30(Bb3+ Kb1 Ba2#)
31
32// TODO: decodeURIComponent() for GET/DELETE parameters
33
342) Integrate computer play into rules tab
353) Allow correspondance play (no need for P2P: online moves through the server (which also store them))
364) Write my-games tab (included current/finished/imported)
37 Use Dexie.js, or anything to store games locally
385) Write room tab
39 Use this: https://github.com/feross/simple-peer for online games+challenges+chat
406) Test... and publish
41
42Finish rules translation in Spanish + improve existing ones
43Design: final touch (gain extra space on top, using space on the right)
44Crazyhouse: center reserves, grey if zero available, numbers superimposed
45Promotions: increase pieces sizes, better background.
46Code: use two spaces instead of tabs, everywhere.
47Increase code line length to 100 or more?
48(http://katafrakt.me/2017/09/16/80-characters-line-length-limit/)
49Chat button should be more apparent after game ends (color ?)
50Reinforce security for problems upload (how ?)
51
52Later:
53Let 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/
55Each user would have a unique identifier stored in the client DB.
56Allow to cancel games (if opponent doesn't connect again)
57Live 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)
59Allow challenging a specific player (by his chosen name)
60But keep the random pairings as main playing way + always playing in ZEN mode
61
62style menu : surligner onglet courant
63
64Interface :
65 - newGame: une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game")
66
67Importer des parties : nécessite de parser le PGN produit (possible, un peu pénible)
68mais permettrait mode analyse (avec bouton "analyse", comme sur ancien site).
69
70espagnol : jugada ou movimiento ?
71fin de la partida au lieu de final de partida ?
72
73Bouton new game ==> human only. Indiquer adversaire (éventuellement), cadence (ou "infini")
74Mode analyse : accessible à tout moment d'une partie (HH, ou computer) terminée + bouton "analyze from here" (sur parties observées)
75
76Coordonnées sur échiquier: sur cases, à gauche (verticale) ou en bas (horizontale)
77
78Import game : en local dans indexedDb, affichage dans "Games --> Imported"
79
80Checkered : si intervention d'un 3eme joueur, initialiser son temps à la moyenne des temps restants des deux autres... ?
81
82Mode contre ordinateur : seulement accessible depuis onglet "Rules" (son principal intérêt)
83
84Hexachess: McCooey et Shafran (deux tailles, randomisation OK)
85http://www.math.bas.bg/~iad/tyalie/shegra/shegrax.html
86http://www.quadibloc.com/chess/ch0401.htm
87
88Inspiration for refactor:
89https://github.com/triestpa/Vue-Chess/blob/master/src/components/chessboard/chessboard.js
90https://github.com/gustaYo/vue-chess