[READ-ONLY] Mirror of https://github.com/andrioid/ygroceries. Prototype: Combining YJS and React Native in a Grocery list app
README.md

In order to evaluate conflict-free data types for React Native apps, I need something simple to practice with. I'm also quite annoyed with our grocery list app, so why not.

Current Status #

Needs polish, lots of polish. Persistence seems to be working for both native and web. Definitely not ready for any of the app stores yet.

Vision #

Opinionated #

Ruthlessly optimised for grocery shopping. Other use-cases may be possible, but not directly supported.

Works out of the box #

No user-registration prompts or anything preventing you from using it within seconds of installing it.

Business model (if I take this further) #

  • Free for single users
  • Premium for co-operation features
    • Ads
    • In app purchases

I don't mind the app itself being free, but hosting and maintaining the syncing infrastructure requires both time and money.

Scope #

As a user... #

I can see bought items at the bottom of the list #

I can clear the list of already bought items #

I can see list of recent changes #

I can easily access my frequently used items when adding to list #

I can see if there are other people working on my list. #

I can ask my partner to review certain items on our list #

When you're not at home, but you plan on going shopping later. Then you can quickly request someone at home to review the list.

I can group by items into catagories and sort the list by them #

Super market chains usually have a floor plan that follows a certain order. So, it makes sense to show the items you're passing first, first.

I can create a grocery list with a name, so that I can easily find it later #

I can add an item to my grocery list so that I can buy it later #

I can remove an item I accidentally added so that I don't buy it by accident #

I can mark an item as bought, so that my significant other doesn't buy the same thing #

I can make changes to my list even when I don't have Internet. #

I can see the latest changes to my list as soon as I'm online again. #

I can optionally share and control who has access my to list #

Sending everything to everyone works right now; but there's not a lot of control involved.