Dat Shopping List is a "Progressive Web App" built to demonstrate how to use the new "multiwriter" capabalities that are being added to the Dat Project.
The demo is a simple "to do list" app, in the spirit of the TodoMVC project.
You can run it on any modern web browser. Also, you can run it on your mobile phone (iOS and Android), and it should work offline as well as online.
Check out the blog post:
Here is a short (2.5 minute) walkthrough of the demo.
Quick Deploy / Free Hosting Options
The demo is very easy to deploy, as it is self-contained, and requires no storage.
There are many ways for you to run your own instance. You may want to run your own instance for privacy reasons, reliability reasons, or so you can customize it.
dat-shopping-list was developed on Glitch. Glitch is very nice. It is free, and it gives you a Node.js backend as well as an in-browser IDE with multi-user editing and debugging! Use the following link to fork your own copy of the Node.js gateway service and front-end user interface:
Note: Occasionally, Glitch gets into a state where it can't read from the disk. One way to get going again is to run:
rm -rf node_modules && npm install on the console.
The app can easily be deployed to Heroku, which offers either 550-1000 hours a month for free (sleeps after 30 minutes of inactivity).
Zeit offers a free "OSS" plan that works with the Dockerfile. Once you are signed up and have the command line tool installed, you can deploy straight from the github repo:
Note: If you use the OSS plan, the logs will be publicly available, which may not be what you want, as people will be able to see the keys of shopping lists that have been synced through the gateway, and they will be able to download the data. The logging could be changed to hide the keys.
The git repo includes a simple Dockerfile. There is also a Docker image published here:
If you have docker installed, you should be able to run it:
docker run -p 5000:5000 jimpick/dat-shopping-list
Several of the major cloud hosting companies offer a free tier or introductory offer where you can run Docker images.
The demo is published on npm:
You can try it out using
or you can install it globally and run it:
npm install -g dat-shopping-list dat-shopping-list
It should work on Mac and Linux. It hasn't been tested on Windows.