The store database should also store the address of each store in order for “Get Stores” to work as stated in the API spec
Make important/required information such as price and store_id non-nullable
Move your example flows into a separate file from the API spec file
Use code blocks for your API spec instead of regular text to make it more readable
For some of your endpoints, instead of outputting nothing you should output at least something (ex. “ok” or “success”) to indicate that the transaction has been completed
Add option to add data to each table; currently missing ways to add a user and store
Add option to delete data from each table; currently missing ways to delete a user, grocery_list, and store
Is there a reason why users can only have up to 1 grocery list? Letting users have more than 1 grocery list does not seem too complex to implement and gives users much more freedom
Remove the SQL insert statements in the schema.sql file
Functions “distribute_list” and “find_best_item” should be GET requests instead of POST requests
What happens if a user wants to create a crowdsourcing entry with an item that currently does not exist? Do they have to create the item manually, and then create the crowdsourcing entry, or will there be internal logic that will automatically create the item if it does not exist yet? Same with stores.
It doesn’t look like the inventory_level attribute is being used