I wanted a clean shopping lists app. I was tired of stupid checklists and horrible ux. I wanted to be able to add or check off milk or butter from multiple lists. I wanted to be able to sort items based on where they were in a given store. All while both my sweetheart, and I could manage shared lists and/or shop together.
Pantry is made with Livewire as an experiment. I think some frontend javascript-Aplinejs maybe-could make it feel a little more peppy. The draggable sorting needs work. It has issues on mobile. Go easy. I wrote it over a weekend. She loves it. And we use it for our shopping.
- Simple easy to use UX.
- Work on mobile or from a desktop
- Visually clean
- Sortable individual lists
- Save for later: We found that sometimes we need an item but don't want to get it today. So some kind of save for later or defer to hide for a day. Haven't thought out the best way to do this.
- Drag-and-drop-sorting: I started this feature... but remember you have to have all items showing to sort. And after seeing how many items are on actual lists. I feel adding isles to help section the items would helpful. So while in store or at home you could also move an item to an isle using the number (or drag).
- I've thought about wiring Pantry up to stores to place online orders. In the USA Kroger is a major Grocer. And,
- I started playing with their api to get product information.
- Along those lines, I imagined we could also use Pantry as a virtual pantry to see what we currently have and when it expires.
- Lots of potential...
- I used Jetstream thinking the team feature would be useful to share lists. At present, it's not using teams to separate his/her team lists. We've just been using one set of credentials and that has worked fine.
Simple searchable list view
Same simple searchable shopping list view.
Search for items in the list and also find items in other lists.
Edit an item and its related lists.
Do the typical Laravel commands... composer install and what not.
Then you can just run...
php artisan migrate --seedThis runs the DatabaseSeeder.php
which creates a few things...
- a default user...
test@example.com, and passwordpassword(the app doesn't allow registration. It's meant to be a personal app). - a few default lists via
ShoppingListSeeder.php - items related to the default lists. These items are text files. I copy/pasted from my Apple notes checklists. The seeder parses them properly for this use case.
💡 Bonus (maybe): If you happen to have some Apple Notes checklists you can create text files in the /database/items directory. And as long as the textfile name matches a corresponding list name in
ShoppingListSeeder.phpthe items will also be added to the correct lists.
Thank you for considering contributing to Pantry. It was just a pet project. So it's far from perfect. And I am completely open to improvements, etc.



