Add TODO for client Hall + Problems (and then: challenges + live games)
[vchess.git] / _tmp / TODO
CommitLineData
5d3e317a
BA
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
00f2759e
BA
7Use better-sqlite3 instead of node-sqlite3:
8https://www.npmjs.com/package/better-sqlite3
9
ab4f4bf2
BA
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
00f2759e 21CRON task remove unlogged users, finished corr games after 7 days, individual challenges older than 7 days
5fd25ffb 22
582df349
BA
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
fd08ab2c
BA
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
26b8e4f7
BA
35mat en 2 échiqueté : brnkr3/pppp1p1p/4ps2/8/2P2P2/P1qP4/2c1s1PP/R1K5
36(Bb3+ Kb1 Ba2#)
37
8a477a7e
BA
38// TODO: decodeURIComponent() for GET/DELETE parameters
39
7192f471 402) Integrate computer play into rules tab
26b8e4f7
BA
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)
7192f471
BA
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
263eef68 48Finish rules translation in Spanish + improve existing ones
69f3d801 49Design: final touch (gain extra space on top, using space on the right)
684e1cac 50Crazyhouse: center reserves, grey if zero available, numbers superimposed
263eef68
BA
51Promotions: increase pieces sizes, better background.
52Code: use two spaces instead of tabs, everywhere.
d5dd0008
BA
53Increase code line length to 100 or more?
54(http://katafrakt.me/2017/09/16/80-characters-line-length-limit/)
edcd679a
BA
55Chat button should be more apparent after game ends (color ?)
56Reinforce security for problems upload (how ?)
c5fa5762 57
edcd679a 58Later:
582df349 59Let choice of time control, allow correspondance play, several corr games at the same time
edcd679a
BA
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)
582df349
BA
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)
edcd679a 65Allow challenging a specific player (by his chosen name)
582df349 66But keep the random pairings as main playing way + always playing in ZEN mode
8280382c
BA
67
68style menu : surligner onglet courant
69
70Interface :
c5fa5762 71 - newGame: une modalBox à paramètres, timeControl, type d'adversaire ==> "new Game")
8280382c
BA
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 ?
81da2786
BA
78
79Bouton new game ==> human only. Indiquer adversaire (éventuellement), cadence (ou "infini")
582df349 80Mode analyse : accessible à tout moment d'une partie (HH, ou computer) terminée + bouton "analyze from here" (sur parties observées)
81da2786
BA
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
582df349 86Checkered : si intervention d'un 3eme joueur, initialiser son temps à la moyenne des temps restants des deux autres... ?
81da2786
BA
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
ab4f4bf2
BA
93
94Inspiration for refactor:
95https://github.com/triestpa/Vue-Chess/blob/master/src/components/chessboard/chessboard.js
96https://github.com/gustaYo/vue-chess