If you don't want the savegames to be actual files, then the easiest method would be to use localstorage. It allows your website to save several MB of key-value pairs in the user's web browser. The main advantages are that this is completely invisible to the user and does not require a server. The main problem with this is that savegame data is bound to the web browser. When the user wants to play on multiple devices, they can not easily transfer savegames.
Another option is to set up a server with a web API which stores the game states in a database. This will also require a user account system. The game you used as a template seems to use the Dropbox API for this.
You could also use the Javascript File API. This looks to the user as if they were uploading and downloading files on your website, even though they are only communicating with a local Javascript application. The user would then need to keep their savegames as a file on their device. This is less convenient for the user, but allows them to transfer savegames between devices.