OK, Puzzle development is hard to setup! Here's how you do it:
Get a local setup, and a user!
Upload this puzzle document to the puzzle
collection:
{
"_id" : 61053,
"gameId" : "khzYI5hN",
"history" : "h7h6",
"fen" : "8/1p3rkp/6p1/1b6/4PnPP/5P2/3Q4/6K1 b - - 0 38",
"lines" : {
"lj" : {
"23" : {
"jH" : {
"UM" : true
}
}
}
},
"depth" : 2,
"white" : true,
"date" : ISODate("2017-07-31T21:19:03.859Z"),
"perf" : {
"gl" : {
"r" : 1500.0,
"d" : 350.0,
"v" : 0.06
},
"nb" : 0
},
"vote" : {
"up" : 2,
"down" : 0,
"nb" : 2,
"ratio" : 100
},
"attempts" : 10,
"mate" : false
}
It's important to note that the ID of that puzzle is a bit of a magic number, so it's important to keep it as is.
The game that goes with it, upload this to the game5
collection:
{
"_id" : "khzYI5hN",
"is" : "VLYSgZH8",
"p0" : {
"na" : "Mohammad_h2017 (1888)"
},
"p1" : {
"na" : "Cristian70 (1919)"
},
"s" : 31,
"t" : 95,
"c" : { "$binary" : "BQAAAAEAAAI=", "$type" : "00" },
"cw" : { "$binary" : "", "$type" : "00" },
"cb" : { "$binary" : "ABw=", "$type" : "00" },
"ca" : ISODate("2019-02-03T21:49:25.577Z"),
"ua" : ISODate("2019-02-03T21:49:25.577Z"),
"so" : 7,
"pgni" : {
"pgn" : "[Event \"Rated Blitz game\"]\r\n[Site \"https://lichess.org/khzYI5hN\"]\r\n[Date \"2017.07.31\"]\r\n[Round \"-\"]\r\n[White \"Mohammad_h2017\"]\r\n[Black \"Cristian70\"]\r\n[Result \"1-0\"]\r\n[UTCDate \"2017.07.31\"]\r\n[UTCTime \"20:53:22\"]\r\n[WhiteElo \"1888\"]\r\n[BlackElo \"1919\"]\r\n[WhiteRatingDiff \"+11\"]\r\n[BlackRatingDiff \"-11\"]\r\n[Variant \"Standard\"]\r\n[TimeControl \"300+0\"]\r\n[ECO \"A01\"]\r\n[Opening \"Nimzo-Larsen Attack: Indian Variation\"]\r\n[Termination \"Normal\"]\r\n\r\n1. b3 { [%clk 0:05:00] } Nf6 { [%clk 0:05:00] } 2. Bb2 { [%clk 0:04:58] } d5 { [%clk 0:05:00] } 3. Nf3 { [%clk 0:04:54] } g6 { [%clk 0:04:59] } 4. e3 { [%clk 0:04:41] } Bg7 { [%clk 0:04:58] } 5. h3 { [%clk 0:04:39] } c5 { [%clk 0:04:56] } 6. c4 { [%clk 0:04:35] } dxc4 { [%clk 0:04:53] } 7. Bxc4 { [%clk 0:04:33] } O-O { [%clk 0:04:52] } 8. O-O { [%clk 0:04:31] } Nc6 { [%clk 0:04:51] } 9. d4 { [%clk 0:04:29] } cxd4 { [%clk 0:04:40] } 10. Nxd4 { [%clk 0:04:27] } Bd7 { [%clk 0:04:36] } 11. Nc3 { [%clk 0:04:23] } Rc8 { [%clk 0:04:31] } 12. Nd5 { [%clk 0:04:19] } Nxd5 { [%clk 0:04:29] } 13. Nxc6 { [%clk 0:04:17] } Bxc6 { [%clk 0:04:23] } 14. Bxg7 { [%clk 0:04:09] } Kxg7 { [%clk 0:04:21] } 15. Qd4+ { [%clk 0:04:02] } Kg8 { [%clk 0:04:18] } 16. Rad1 { [%clk 0:03:59] } Nb6 { [%clk 0:04:12] } 17. Bxf7+ { [%clk 0:03:44] } Kxf7 { [%clk 0:04:06] } 18. Qf4+ { [%clk 0:03:39] } Kg7 { [%clk 0:04:03] } 19. Qe5+ { [%clk 0:03:33] } Kg8 { [%clk 0:03:50] } 20. Rxd8 { [%clk 0:03:30] } Rcxd8 { [%clk 0:03:48] } 21. Qxe7 { [%clk 0:03:28] } Nd5 { [%clk 0:03:43] } 22. Qc5 { [%clk 0:03:23] } a6 { [%clk 0:03:37] } 23. Rd1 { [%clk 0:03:21] } Nf6 { [%clk 0:03:28] } 24. Rxd8 { [%clk 0:03:07] } Rxd8 { [%clk 0:03:26] } 25. Qe7 { [%clk 0:03:05] } Rf8 { [%clk 0:03:21] } 26. a4 { [%clk 0:03:01] } Ne4 { [%clk 0:03:20] } 27. f3 { [%clk 0:02:56] } Nf6 { [%clk 0:03:10] } 28. e4 { [%clk 0:02:53] } Nh5 { [%clk 0:03:01] } 29. b4 { [%clk 0:02:44] } Rf7 { [%clk 0:02:54] } 30. Qd8+ { [%clk 0:02:38] } Kg7 { [%clk 0:02:53] } 31. Qd4+ { [%clk 0:02:31] } Kg8 { [%clk 0:02:48] } 32. b5 { [%clk 0:02:14] } axb5 { [%clk 0:02:46] } 33. axb5 { [%clk 0:02:12] } Bxb5 { [%clk 0:02:40] } 34. g4 { [%clk 0:02:02] } Nf4 { [%clk 0:02:36] } 35. Qd8+ { [%clk 0:01:58] } Kg7 { [%clk 0:02:31] } 36. Qd4+ { [%clk 0:01:47] } Kh6 { [%clk 0:02:15] } 37. Qd2 { [%clk 0:01:44] } Kg7 { [%clk 0:02:11] } 38. h4 { [%clk 0:01:39] } h6 { [%clk 0:02:03] } 39. Qb2+ { [%clk 0:01:37] } Kh7 { [%clk 0:02:01] } 40. Qxb5 { [%clk 0:01:35] } Kg7 { [%clk 0:01:53] } 41. Kf2 { [%clk 0:01:33] } Nh3+ { [%clk 0:01:47] } 42. Kg3 { [%clk 0:01:31] } Nf4 { [%clk 0:01:46] } 43. Qb2+ { [%clk 0:01:26] } Kh7 { [%clk 0:01:43] } 44. e5 { [%clk 0:01:23] } Nd3 { [%clk 0:01:31] } 45. Qc3 { [%clk 0:01:19] } Nf4 { [%clk 0:01:22] } 46. Qb3 { [%clk 0:01:11] } Kg7 { [%clk 0:01:19] } 47. e6 { [%clk 0:01:08] } Re7 { [%clk 0:01:14] } 48. Qc3+ { [%clk 0:01:06] } 1-0\r\n\r\n\r\n",
"h" : { "$binary" : "ebGY+IP1AWkI70gj", "$type" : "00" },
"date" : "2017.07.31",
"user" : "foobar",
"ca" : ISODate("2019-02-03T21:49:25.577Z")
},
"hp" : { "$binary" : "sl5v6r4fUgNW1xGu3CiGlRnyRkuENQy9ocoTrhYrfueUWJAGontU+PoyhqeCzCIQ7llL1gA=", "$type" : "00" },
"w" : true
}
Now you can go to /training on your local dev machine and start training! If you solve this puzzle you should see your rating go up!