GuildCrafts / web-development-js

Craft repository for Web Development with JavaScript
http://jsdev.learnersguild.org/
Other
1 stars 1 forks source link

Simple Book Store + Google Sheets #78

Open jaredatron opened 7 years ago

jaredatron commented 7 years ago

Simple Book Store + Google Sheets

This is a clone of Simple Book Store except you are going to be using google sheets as your database.

Use one or some of the NPM modules available to help you talk to the google docs API to create a bookstore app that stores all of its data in a google sheets document. Either use multiple docs or one doc with multiple sheets. Preferable the latter. Think of each sheet as a table in a relational database. Each sheet has columns and rows just like SQL.

jaredatron commented 7 years ago

@jrob8577 @deonna what do you think?

phoniks commented 7 years ago

This sounds super cool to me!

On Oct 2, 2016 1:18 PM, "Jared Grippe" notifications@github.com wrote:

@jrob8577 https://github.com/jrob8577 @deonna https://github.com/deonna what do you think?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GuildCrafts/web-development-js/issues/78#issuecomment-250993078, or mute the thread https://github.com/notifications/unsubscribe-auth/AG4SwkjJ57Zl6-Ob7IHkFHXY8Dau1Ealks5qwBGLgaJpZM4KMGsw .

jrob8577 commented 7 years ago

I like the opportunity to create an analogy for dbs, but not sure about the need to navigate the APIs to create that analogy. Safe to try, though. LGTM

deonna commented 7 years ago

@deadlyicon - I love the idea of using Google Sheets as a DB analogy (assuming most learners aren't super familiar with using SQL clients to administer their DBs). It's a good way to learn principles of storing data/querying data from a relational DB without having to be slowed down by the ramp-up time required to learn how to use a SQL client.

I have two minor concerns:

1) Learners may get caught up in fighting authentication issues and/or navigating the API to the point where learning how a relational DB works becomes less of priority than getting the project working.

2) The API that learners choose might not be the best for understanding how relational DBs work in the real world.

A clarification on the second point:

The google-sheets-api module has methods like getSheets() and getRange(), which don't really translate to typical relational DB calls, whereas the spreadsheetsdb module does - with methods like create(), update(), and query(), which all take JSON objects as parameters.

Do you think it would be too hand-holding to suggest, for example, the spreadsheetsdb API for folks to use? I think this suggestion would be valuable because the spreadsheetsdb module better resembles the method calls that one might use to interact with a real-world relational DB.

NOTE: I just picked those modules from looking at the first page of results, so there may even be a more appropriate API other than spreadsheetsdb.

Lemme know your thoughts!

phoniks commented 7 years ago

I don't recommend spreadsheetsdb. It's not very well maintained.