chess-srs is a library with a fully-featured API to facilitate chess opening training with spaced repetition.
Spaced repetition is a memorization technique that consists of recalling something at increasingly longer intervals.
In other words, instead of memorzing something once a week, we can use implement spaced repetition to memorize it once, then three days later, then a week later, then a month later, etc...
Instead of training at irregular intervals, this library provides software which is capable of being extended to provide a fully-managed solution for training openings.
In other words, you won't have to remember when you trained a certain opening, or if a certain move is "due" for training.
This library exposes a fully-featured API for all necessary actions that a chess player may need to train his chess openings.
All endpoints are documented with inline comments that describe their function.
chess-srs is in the Node Package Registry! To import it, use
npm install chess-srs
I've made some apps that implement a subset of this library's functionality.