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