A really basic self-hosted wishlist app which renders a simple plaintext file of urls as a wishlist. Additionally, keeps track of when someone buys something for you.
Turns:
https://www.amazon.co.uk/Innovative-Designs-Mandalorian-Sticker-Stickers/dp/B087H4HZQ7
https://www.ikea.com/gb/en/p/markus-office-chair-vissle-dark-grey-30261152/
https://www.dell.com/en-uk/shop/laptops-2-in-1-pcs/xps-13-laptop/spd/xps-13-9340-laptop
into
Here's a basic docker-compose snippet:
version: "2.1"
services:
supersimplewishlist:
image: ghomashudson/supersimplewishlist
container_name: supersimplewishlist
volumes:
- /path/to/wishlists:/usr/src/app/wishlists
- /path/to/db.json:/usr/src/app/db.json
ports:
- 5000:5000
restart: unless-stopped- Install the python depenancies with
pip install -r requirements.txt - Run the flask app with
flask run
Fill the /wishlists directory with wishlist_name.txt files with one product url per line, e.g.
https://www.amazon.co.uk/Innovative-Designs-Mandalorian-Sticker-Stickers/dp/B087H4HZQ7
https://www.ikea.com/gb/en/p/markus-office-chair-vissle-dark-grey-30261152/
https://www.dell.com/en-uk/shop/laptop-computers-2-in-1-pcs/xps-13-9305/spd/xps-13-9305-laptop/cn93509sc11
An example example_list.txt has been provided. The products will appear in your wishlist in the same order as the txt file.
The wishlist can be viewed by going to SERVER_URL/wishlists/wishlist_name.txt.
It may take a few seconds to load the first time while the product details are grabbed. The product details along with the "Bought" status are saved in the db.json file. Item details are refreshed once a day in case of price changes.
Navigating to SERVER_URL/wishlists/wishlist_name.txt?exclude_purchased=1 will remove products that people have bought for you. Without this a prompt Someone may have purchased this item will appear, when clicking to prevent spoilers.
