Тёмный

Google Sheets… Your Next Database? 

Fireship
Подписаться 3,2 млн
Просмотров 389 тыс.
50% 1

Can you use Google Sheets as a database? Learn how to build a Next.js app using a spreadsheet as the data layer fireship.io/lessons/google-sh...
#googlesheets #js #webdev
🔗 Resources
Source Code github.com/fireship-io/google...
Google APIs PRO Lesson fireship.io/lessons/google-ap...
Next.js Full Course fireship.io/courses/react-nex...
Google Sheets www.google.com/sheets/about/
📚 Chapters
00:00 Google Sheets Database?
00:35 Pros & Cons
01:15 Create a Spreadsheet
01:49 Create Next.js App
02:40 Ways to Authenticate Google APIs
03:34 GCP Service Account
04:36 Next Env Variables
05:07 Google API Auth
06:07 Query the Speadsheet
🤓 Install the quiz app
iOS itunes.apple.com/us/app/fires...
Android play.google.com/store/apps/de...
🔥 Watch more with Fireship PRO
Upgrade to Fireship PRO at fireship.io/pro
Use code lORhwXd2 for 25% off your first payment.
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font

Наука

Опубликовано:

 

4 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 695   
@oyundimondesi4541
@oyundimondesi4541 3 года назад
next video: "why i switched to powerpoint as my code editor"
@kjn5991
@kjn5991 3 года назад
actually, there is a video of some dude recommending Word as a code editor 😂
@phatakom
@phatakom 3 года назад
@@kjn5991 joma 😂😂
@akarshitbatra1754
@akarshitbatra1754 3 года назад
Actually word not pp
@alegian7934
@alegian7934 3 года назад
it *is* turing complete
@Anonymous-XY
@Anonymous-XY 3 года назад
@@phatakom 😂
@KevinVandyTech
@KevinVandyTech 3 года назад
As someone who works somewhere where we are struggling to bring everyone out of excel hell and use real databases, I feel the need to hide that this exists.
@MM-vr8rj
@MM-vr8rj 3 года назад
I'm currently working on my first ever paid assignment and the people I have to deal with had a terribly big excel sheet that they called a 'database'. I was shocked and advised they needed to hire another person that could convert that into an actual database. I ended up only working on the frontend thank god.
@MM-vr8rj
@MM-vr8rj 3 года назад
@@ssholum I think even Excel experts hate Excel
@MM-vr8rj
@MM-vr8rj 3 года назад
@@eric.m5790 huh GitHub is from Microsoft? And they didn't develop GitHub but simply paid for it? Lol
@MM-vr8rj
@MM-vr8rj 3 года назад
@@lucasbudega too late, they already hired someone =)
@VITORB82
@VITORB82 3 года назад
@@MM-vr8rj as an ex Excel "expert", Excel sucks. As soon as i could i changed careers.
@ruanmontelo
@ruanmontelo 3 года назад
"this is some serious gourmet sheet"
@elgatito00
@elgatito00 3 года назад
😂😂
@vishaljaiswal5000
@vishaljaiswal5000 3 года назад
Google fiction
@isaque1764
@isaque1764 3 года назад
next video: why chrome's search bar is the best JSON editor
@holonaut
@holonaut 3 года назад
not gonna lie, I use Chrome's console as my main json renderer
@chotai
@chotai 3 года назад
@@holonaut isn't it devtools? I'm using same LoL
@lainworld
@lainworld 3 года назад
Next video: "Why using Google Slides is the best way in designing applications"
@cferracini
@cferracini 3 года назад
but... figma is free (with limits but free)
@georgle
@georgle 3 года назад
Lol using actual mockup software can't be me! But in all seriousness, using Google Slides is actually pretty decent for mockups, especially when collaborating with a less technical team
@rakeshchowdhury202
@rakeshchowdhury202 3 года назад
Um. I actually used to develop ui when I started c# in 2015
@donaldli4755
@donaldli4755 3 года назад
I think I saw someone built circuits using PowerPoint...
@ricoaw500
@ricoaw500 3 года назад
I'm using it before I know Figma and Adobe XD. lol
@ajefersonstiv
@ajefersonstiv 3 года назад
Totally NO, 😂😂😂 why u need google sheets when u can save all your data in word files with colors and fonts 🤩🔥
@NPC-kw4sb
@NPC-kw4sb 3 года назад
Sheets has colors and fonts too
@zeroww7
@zeroww7 3 года назад
How about writing the data down on paper and manually sending back the requested data by retyping every single time like things are supposed to be?
@migueldomingos4570
@migueldomingos4570 3 года назад
@@zeroww7 how about writing that data in tatoos made in your skin so that it is never lost unlike paper that can fly away?
@kbabe3915
@kbabe3915 3 года назад
@@migueldomingos4570 How about just remember 4Head
@migueldomingos4570
@migueldomingos4570 3 года назад
@@kbabe3915 That is way too non painless
@mirashif
@mirashif 3 года назад
This is some next level sheet! 👌
@musicgaines7170
@musicgaines7170 3 года назад
Thumbnail said that
@rafadydkiemmacha7543
@rafadydkiemmacha7543 3 года назад
Oh sheet!
@dtinth
@dtinth 3 года назад
We used this technique once in production for a one-off live event website, with 1.5M visitors making 200M requests combined (100,000 concurrent views). With a bunch of caching and prerendering in place, we only make Google Sheets API calls like once per minute, so _it does scale!_ 🚀 6:50 - To cache the result of `spreadsheet.values.get` call in-memory, the `p-memoize` package from npm can be used. 1:36 - Making a Sheet public is convenient, but not required to make it available to the app via the Service Account. At 4:05 notice how the Service Account looks like an email address. You can share your Google Sheet to that email address, and then the Service Account will have access to the Google Sheet. This way the sheet can be kept private. Great video as always!
@deveshp9998
@deveshp9998 3 года назад
Great results 💯 manh can you share some resources or code snippets on how you managed to do the caching bit?
@KaiCodingJourney
@KaiCodingJourney Год назад
U r genius!!!!
@VadimTi320
@VadimTi320 11 месяцев назад
To cache results is a great idea, since google doesnt provide a way to query data in sheets, and if you don't know which number of row of the sheet you data at you basicaly have to get all data of sheet and filter results. I had a project where estore had its products data in sheet, and app had to display data by a product SKU which was in a column. Ended up saving syncing sheet data in a real database every minute and query that database (which opened door for more advanced app functions)
@noobgam6331
@noobgam6331 7 месяцев назад
it does not scale. caching is not scaling. Also don't forget to use a library for something that can be achieved in 2 lines of code, very classic for javascript development
@ConnectidTechTalks
@ConnectidTechTalks Месяц назад
Thanks for the info about keeping it private! Awesome!!
@Codeeee
@Codeeee 3 года назад
Next video: What made me prefer notepad over VS Code.
@animatedzombie64
@animatedzombie64 3 года назад
😂 exactly,
@kristopherrobin4001
@kristopherrobin4001 3 года назад
Big brain
@Andreashoornstra10
@Andreashoornstra10 3 года назад
Notepad? Lame. I prefer coding into a stone tablet using hieroglyphs.
@mythoughts1679
@mythoughts1679 3 года назад
Ram Size
@nikeshthakor406
@nikeshthakor406 3 года назад
I use nano file to code
@elbojoloco
@elbojoloco 3 года назад
"next" level "sheet". I could not hold in my laugh there.. What a perfect end to this perfect video.
@pocketmage124
@pocketmage124 3 года назад
Next video: "Why using google contacts is the best solution for user accounts"
@AndrewGray-natreve
@AndrewGray-natreve 3 года назад
I've been doing this for years my dude lol
@dailymeow3283
@dailymeow3283 3 года назад
Seriously, what could be a good use of it,,, i mean i can make a json file in the backend and serve all the data
@ImperiumLibertas
@ImperiumLibertas 3 года назад
@@dailymeow3283 not having to manage a whole backend for simple content. Although this really should never be used for anything important.
@deebakapadia
@deebakapadia 3 года назад
@@dailymeow3283 I could use it to serve some static files
@sanjithudupa
@sanjithudupa 3 года назад
Haha me too. It feels weird to use it sometimes but in a pinch it works really nicely lol (when I am too lazy to self host a db or use something like mongo). But it become impractical after that
@hakimramzani9174
@hakimramzani9174 3 года назад
@@dailymeow3283 usually the excel comes from user or something
@stahllandon
@stahllandon 3 года назад
Thank goodness for this video. I've been wanting to set up a website for a family friend's company where they can manage their inventory that is visible on their website without needing to be super tech savvy. I came up with the idea of using Google sheets, but just didn't have the time to figure it out. This video is going to save me a lot of time. Thank you!
@chintu2691994
@chintu2691994 3 года назад
No sponsor bs, no merch gread, pure teaching, pure learning 👌🏻
@patricsteiner8483
@patricsteiner8483 3 года назад
no useless intro, no cancer thumbnail, no talking boring and irrelevant shit. i hate people.
@ModestTim
@ModestTim 3 года назад
Fun fact, you shared the sheet publicly with anyone who has the share link but you can also add your service accounts generated email to the sheets permissions instead so you don't have to make it public! This also works for anything in your google drive :)
@Fireship
@Fireship 3 года назад
Good call!
@Coopervise
@Coopervise 3 года назад
Tried it out & this works. This small fact would probably convince more people to try it out rather than making your data public.
@PickleSurpriseVEVO
@PickleSurpriseVEVO 3 года назад
The cursed stack Sheets for database COBOL compiled to WebAssembly binaries for server side XHTML and in line css for client side/styling
@baggern
@baggern 3 года назад
Client-Server communication via SOAP over WebSockets
@legrinu
@legrinu 3 года назад
Sounds good, have many clients running this Stack, I call it the India street Stack
@diablo.the.cheater
@diablo.the.cheater 3 года назад
Hey at least such stack would be secure as heck no hacker would even believe such stack to exist in the first place
@yokowasis
@yokowasis 2 года назад
now, we have tail wind css and bootstrap 5, which is basically in line stylesheet.
@TacticoolMobius
@TacticoolMobius 2 года назад
I never worked on the Excel/COBOL stack but I already have software dev generational PTSD reading this.
@fruitfcker5351
@fruitfcker5351 3 года назад
0:52 If you're just going to read from Google Sheets, you can publish it as a CSV, get the URL and parse it. It won't eat up your API limits.
@thallysondias
@thallysondias 8 месяцев назад
nice! im just need this!
@markussukhaboon9299
@markussukhaboon9299 5 месяцев назад
And no credit card to set it up, if i understand it right.
@thisbloke
@thisbloke 3 года назад
We used Google Sheets a few years back to quickly build our design tables for mobile games. This allowed us to quickly rebalance and make major data changes without worrying about interfacing with the DB directly. We even built a sync tool that will do a two way sync between the sheet and the database. Was such a time saver in the end, totally recommend using it as a data admin tool.
@RajvirSingh1313
@RajvirSingh1313 3 года назад
We need FireSheet
@goeland4585
@goeland4585 3 года назад
Sheet is Fire, yo
@jonlothar6126
@jonlothar6126 3 года назад
Was not expecting this AT ALL, but man you gotta believe me when I say this is going to CHANGE MY LIFE
@yolo-mb4cy
@yolo-mb4cy 3 года назад
👀
@satyampatel3713
@satyampatel3713 3 года назад
👀
@DanishShakeel
@DanishShakeel 3 года назад
GERN stack. 😂
@rabik_dev
@rabik_dev 3 года назад
Holy sheet this is awesome!
@ToddDunning
@ToddDunning 3 года назад
Very quickly becoming my favorite dev channel
@andrewdddo
@andrewdddo 3 года назад
next video: "Why Google Docs is the best IDE"
@adityavikramsinha408
@adityavikramsinha408 3 года назад
@@tsnos2 wasn't it Microsoft doc? the JOMA one?
@h3ftymouse
@h3ftymouse 3 года назад
Guess he's going for a job at Google, good on him
@mohammadbasyouni7171
@mohammadbasyouni7171 3 года назад
Man I love your videos, keep up the good work, I find it very useful!
@adamhenriksson6007
@adamhenriksson6007 3 года назад
This seems like a nice solution for managing a product catalog for a store (if it's not rate-limited, otherwise things like Netlify are still infinitely better).
@omminnoremac
@omminnoremac 3 года назад
A WARNING TO ANYONE THINKING OF ACTUALLY DOING THIS! (even for prototyping): The caveats mentioned in this video cannot be overstated. I actually did some freelance work on an existing app built fully around a google sheets "database", so would like to share my experience. The app was only being accessed by a few dozen users at a time but was already grinding to a halt in production due to the API rate limit. Queries would randomly fail with unhelpful errors, leading to endless retries and a terrible UX. Even when not rate limited, both read and write queries are many, many times slower than a real database. I would argue it isn't good for anything, even prototyping, because it makes the feedback loop painfully slow. I ended up having to rewrite the entire backend of the mentioned app because it was tightly coupled to the sheets API. If you are going to use this for prototyping (and I would strongly recommend you don't), you MUST use the repository design pattern, otherwise, you will bake in the dependency on sheets and likely end up shipping it to production, which trust me, you really do not want to do at any scale.
@awakenwithoutcoffee
@awakenwithoutcoffee 11 месяцев назад
hi, im a beginner developer in need of a database that can store unique codes for a store franchise. What database do you recommend ?
@8infinito8
@8infinito8 10 месяцев назад
​​@@awakenwithoutcoffeeMySQL or PostgreSQL.
@elvisansima
@elvisansima 10 месяцев назад
+1 for the repository pattren so it is easier to switch to an other data store with ease
@rkpinata373
@rkpinata373 8 месяцев назад
@@awakenwithoutcoffee supabase
@Famelhaut
@Famelhaut 8 месяцев назад
lmaoooo
@pettiboy
@pettiboy 3 года назад
Incredibly high quality content!
@vulnmachines
@vulnmachines 3 года назад
In 2017, I have created my college project "Google sheet as database" and actually we had used spreadsheet as database using java servlet. In that project, through admin panel you can perform CRUD operation in googlesheet.
@santanumukherjee4108
@santanumukherjee4108 3 года назад
I was looking for this yesterday and you made this video 🔥🔥🔥
@FlutterMapp
@FlutterMapp 3 года назад
The real mystery is how can you release back to back 7min edutaining videos. Always amazing 🙏⚡️🔥🌊
@rahulgandla4948
@rahulgandla4948 Год назад
Thank You so much! it was actually better than looking over the boring documentation.
@ammartahir5871
@ammartahir5871 3 года назад
jeff you are love
@himbary
@himbary 3 года назад
Thanks for always informing us of the latest hot sheet
@ronrupp_
@ronrupp_ 3 года назад
Love your Next.js content!
@ganeshdeshmukh8020
@ganeshdeshmukh8020 3 года назад
wow, this is so nice, I will definitely give it a try, this weekend. thanks.
@FilipCodes
@FilipCodes Год назад
Just what I need. Thanks :)
@user-wx1kg6yg2e
@user-wx1kg6yg2e Год назад
The information is useful and the puns are hilarious 😊
@AnshumanKumar007
@AnshumanKumar007 3 года назад
We use Google Sheets in production to interact with Firestore and change data in the Firestore DB. Any changes in the Firestore DB would be reflected in the sheet. We used something a lot simpler though called Appscript.
@boomerangfish3558
@boomerangfish3558 3 года назад
I'm so happy I subbed to this channel lol
@itsjoshlee
@itsjoshlee 2 месяца назад
I just spent 3 hours trying to figure out the auth part of this. Thanks a ton.
@FilledStacks
@FilledStacks 3 года назад
And here I was thinking of making a series of using GQL along with Firebase for a better Read experience. Guess we'll use Sheets instead. Dope video Jeff!
@erdum
@erdum 3 года назад
The most underrated channel, this guy is working as an amateur, not as a professional who only works for money he researched and mix different topics that nobody can use in their company love you bro ❤
@soyitiel
@soyitiel 3 года назад
thought it was a super early or a bit late april fools vid, but it wasn't and i love it !!
@mr2octavio
@mr2octavio 3 года назад
Oh my, this is perfect for a personal project of mine
@shaileshaanand
@shaileshaanand 3 года назад
I've been waiting for this sheet for so long..
@hroman_codes
@hroman_codes 3 года назад
Wow this was a great vid! thanks 🙏
@krtirtho
@krtirtho 3 года назад
Would've made it more realistic if you were developing Google® Sheets based server in Google® Docs with Google® Golang & store them in the Google® Drive😅
@farhanaditya2647
@farhanaditya2647 3 года назад
Lol
@lamphrangmilamin2966
@lamphrangmilamin2966 3 года назад
Your content is dope ❤️
@thetrends5670
@thetrends5670 3 года назад
Our team at Microsoft already using it for more than a decade, love to see it in action by new developers
@Superuser-r1y
@Superuser-r1y 2 года назад
Can it handle 100k user per second?????
@SRG-Learn
@SRG-Learn 3 года назад
Cool. Thanks for sharing.
@briball423
@briball423 3 года назад
Holy crap. I did this as a project in college to make it easier for random people to manage a DB. I thought it was a really jank idea but this is much better explained. Kind of gave me some nostalgia.
@timsecond
@timsecond 3 года назад
I've used it before with an Android app, but it becomes very slow when amount of data increases, so I changed to Firebase.
@iSaac-kp5lk
@iSaac-kp5lk 11 месяцев назад
Holy sheet this is amazing!!
@nodisponible8
@nodisponible8 2 года назад
that ending was such punch to the guts amazing, 10 out of 10
@zafirhasananogh2421
@zafirhasananogh2421 3 года назад
Hahaha man! Never thought it like that, love your videos
@OhOk616
@OhOk616 3 месяца назад
Very helpful thanks.
@CompanionCube
@CompanionCube 3 года назад
I actually used google sheets in a hobby project last year I skipped to whole authentication process though. Each sheet has a public readonly API that can be used if the sheet is shared publicly. Just make sure only you can edit it
@oskrm
@oskrm 3 года назад
sheets.new is a quicker way to create new sheet
@Fireship
@Fireship 3 года назад
🔥🔥🔥
@alegian7934
@alegian7934 3 года назад
@@Fireship 🔥🚢
@modernkennnern
@modernkennnern 3 года назад
Works for all other google software (Docs.new, sheets.new etc..)
@farhanaditya2647
@farhanaditya2647 3 года назад
wow
@explosionimplosion4679
@explosionimplosion4679 3 года назад
docs.new and slides.new too!
@parthkharwar69
@parthkharwar69 3 года назад
About 3 years ago I wrote a site that used the HTML directly from the sheet to render components directly into the front end, no server. Wildest thing I've ever done and the site is still operational.
@ZachSuerdieck
@ZachSuerdieck 3 года назад
Your sheet is the best sheet of all the sheet!
@dev_shiv6753
@dev_shiv6753 3 года назад
Next level 👏
3 года назад
I love the "Next" level "Sheet" and the title Your "Next" Database. Anyway, great video!
@Secreto31126
@Secreto31126 3 года назад
A few days ago working on a Google Sheets plugin I thought exactly the same thing! If only Google App Script were a little bit more stable...
@Free-cryptos-app
@Free-cryptos-app Месяц назад
Thank you for the advanced tips it helped me with my project.
@alemalohe
@alemalohe 3 года назад
Very nice!
@lpanebr
@lpanebr 2 года назад
Excellent!
@brianevans4
@brianevans4 3 года назад
Your course on next js may have changed my life
@arytiwa4351
@arytiwa4351 7 месяцев назад
Missing these types of videos. I don't like tech news, because somewhere or the other I got to know about them, but videos like these are priceless @fireship
@coltyngregoryify
@coltyngregoryify 3 года назад
Thank you!!
@hiroyukinumaguchi1984
@hiroyukinumaguchi1984 11 месяцев назад
Thank you!
@vivekagrawal4086
@vivekagrawal4086 3 года назад
I have a client who's data I've been saving in GS for a long time. I was looking to create a frontend for the same. Finally found the best solution. Thank you
@siddhantgadre
@siddhantgadre 3 года назад
You can also write a script in the google sheet itself and then just call it like an API. We actually recently implemented a similar thing. The sheet acts as a Dashboard for our clients.
@gamenation9706
@gamenation9706 8 месяцев назад
I did the same thing using PHP. great stuff
@sres3416
@sres3416 3 года назад
That is some next level sheeeeet!
@YuvrajSingh808
@YuvrajSingh808 3 года назад
Damn i just needed this, how can you read my mind
@redwrath5
@redwrath5 3 года назад
Hell yeah. I do this as well but I do static generation with it. Gotta go fast on those CDNs
@daddybruce8084
@daddybruce8084 3 года назад
That's some next level sheet bruh
@Tagger67
@Tagger67 3 года назад
great stuff
@massimo8408
@massimo8408 3 года назад
Oh yeah, I used Goggle sheets for one of my projects too. But the API limit was a huge issue
@ahmadraza2156
@ahmadraza2156 3 года назад
wow, this is some next level sheet
@jazzmaster89
@jazzmaster89 3 года назад
Beyond the fact that this is totally awesome, I just learned how to authenticate any service in GCP for my personal acct and wire up a boilerplate Next.js project. Three for the price of one!
@JonWoo
@JonWoo 3 года назад
Connecting to google apis using a service account key is one of the most pain in the butt things I've ever done. This is a great tutorial on how to do that. I wish I had this a long time ago.
@pierre2898
@pierre2898 3 года назад
The acid compliant bit got me laughing.
@boiimcfacto2364
@boiimcfacto2364 3 года назад
This is the equivalent of using HTML/CSS instead of professional Image Editing software, which is something I definitely, 100% do not do. At all. Ever. Fantastic video as always!
@ColeridgeGuo
@ColeridgeGuo 3 года назад
NEXT LEVEL SHEET
@renepromesse7410
@renepromesse7410 3 года назад
creating a 'holy-sheet' next app 😍
@alexleung842
@alexleung842 3 года назад
Google sheets is the perfect Dynamic Config or a database for product details if you're building a site for a mom and pop shop (allowing them to update themes and product details on the fly)
@anupamdahal7029
@anupamdahal7029 3 года назад
I have learnt a lot of new things that I have never worked with from your videos, like AWS, nginx, kubernetes, graphQL(and other dbs), typescript to name a few. One thing that I don't understand is how they work together. I would really love to see a video where you design a mock system using all of these (and possibly more) and explain each of their roles and why you chose it (kinda like your reverse-cloud migration video using raspberry pi). Whenever I think of a software architecture I think of them as several layers that interact with each other. However, I am unable to assign which layer what belongs to by watching a stand alone tutorial about a single tool. Btw, I am a college senior pursuing CS major and I love your content. Thanks for all the awesome contents.
@FranciscoAlvRai
@FranciscoAlvRai Год назад
You read my mind.
@macx4763
@macx4763 3 года назад
This is so disgustingly hacky ...I love it
@UsmanShery
@UsmanShery 3 года назад
that acid cat lol
@AndyChamberlainMusic
@AndyChamberlainMusic 3 года назад
what do you do if you dont have an app engine default service account?
@muhammedshameemm1753
@muhammedshameemm1753 3 года назад
Please do a series about this topic ,iam waiting ❤️❤️
@keagannaidoo2295
@keagannaidoo2295 3 года назад
I was googling this on Tuesday 😩 how did you know
@nathansavage8692
@nathansavage8692 3 года назад
Could you do a video on setting up an ELK stack? Its really cool and powerful stuff but theres a few stumbling blocks if you dont quite understand it
@TheEnde124
@TheEnde124 3 года назад
Hey, would be awesome if you could cover some more niche js stuff, like generators, Proxy or some cool esnext features
@suraj-ram7488
@suraj-ram7488 3 года назад
Haha I was just thinking of this yesterday
@rewelmejiaestrella5979
@rewelmejiaestrella5979 3 года назад
the end is SAVAGE jajajahahajaja
@jimbob2629
@jimbob2629 3 года назад
This is a great idea, think of all the companies down the road trying to decouple and re-normalize their data inside these piece of sheet databases!
Далее
Survive 100 Days In Nuclear Bunker, Win $500,000
32:21
Как похудеть на 10 кг ?! БЫСТРО!
07:06
I tried 8 different Postgres ORMs
9:46
Просмотров 399 тыс.
Why The Windows Phone Failed
24:08
Просмотров 194 тыс.
7 Database Paradigms
9:53
Просмотров 1,6 млн
How to Use Google Sheets as a Simple CMS
10:12
Просмотров 9 тыс.
The Story of Next.js
12:13
Просмотров 559 тыс.