నా యాప్ డేటాబేస్ను Google Drive ఫోల్డర్తో భర్తీ చేశాను
మా అమ్మాయి సంగీత ప్రగతిని ట్రాక్ చేయాలనుకున్నాను. ఆమెకు ప్రతి వారం ఆమె టీచర్ నుండి ఆడియో క్లిప్లు మరియు నోట్స్ వస్తాయి. కాలక్రమేణా ఆమె ప్రాక్టీస్ సెషన్లను నేను వినాలనుకున్నాను. కొత్త రికార్డింగ్లు పాత వాటిని ఓవర్రైట్ (overwrite) చేయకూడదని నేను అనుకున్నాను.
దీనిని పరిష్కరించడానికి నేను ఒక యాప్ను రూపొందించాను. దీనికి బ్యాకెండ్ లేదు. దీనికి డేటాబేస్ లేదు. దీనికి ఖర్చు సున్నా డాలర్లు.
చాలా మంది డెవలపర్లు Google Driveలో ఉన్న ఒక ఫీచర్ను గమనించరు. అదే రివిజన్ హిస్టరీ (revision history).
మీరు ఒకే పేరు మరియు ID కలిగిన ఫైల్ యొక్క కొత్త వెర్షన్ను అప్లోడ్ చేసినప్పుడు, Drive పాత వెర్షన్ను ఉంచుతుంది. అది టైమ్స్టాంప్ చేయబడి మరియు బ్రౌజ్ చేయడానికి వీలుగా ఉంటుంది.
టేబుల్స్ మరియు ఫారిన్ కీస్తో సంక్లిష్టమైన డేటాబేస్ను నిర్మించే బదులు, నేను కేవలం ఫైల్ను ఓవర్రైట్ చేస్తాను. Drive వెర్షనింగ్ను నిర్వహిస్తుంది. హిస్టరీని చూపించడానికి నా యాప్ రెండు API కాల్స్ను ఉపయోగిస్తుంది. నేను ఎటువంటి వెర్షనింగ్ లాజిక్ను రాయలేదు.
ఫోల్డర్ స్ట్రక్చర్ నా డేటాబేస్ స్కీమాగా పనిచేస్తుంది:
• ప్రతి పాటకు దాని స్వంత ఫోల్డర్ ఉంటుంది. • ఫైల్లు teacher-audio లేదా student-practice వంటి ప్రిఫిక్స్లను ఉపయోగిస్తాయి. • స్ట్రక్చర్ను వివరించడానికి నేను JSONని ఉపయోగించను. • కొత్త ఫోల్డర్ను జోడించడం వల్ల యాప్ ఆటోమేటిక్గా అప్డేట్ అవుతుంది.
పాటలను ట్యాగ్ చేయడానికి కూడా నాకు ఒక మార్గం కావాలి. దీని కోసం నేను JSON ఫైల్ను ఉపయోగించలేదు. నేను Drive metadata propertiesని ఉపయోగించాను. మీరు నేరుగా ఫోల్డర్కు key-value pairsలను జోడించవచ్చు. ఇది అన్నింటినీ ఒకే API కాల్లో ఉంచుతుంది.
సెటప్:
• Hosting: GitHub Pages (ఉచితం) • Auth: Google Identity Services (క్లయింట్-సైడ్ మాత్రమే) • Storage: Google Drive • Database: ఏదీ లేదు. ఫోల్డర్ స్ట్రక్చరే మోడల్. • మొత్తం ఖర్చు: $0.
ఒక చిట్కా: Drive 30 రోజుల తర్వాత పాత రివిజన్లను తొలగిస్తుంది. వాటిని సేవ్ చేయడానికి మీరు keepRevisionForever ఫ్లాగ్ను సెట్ చేయాలి.
ఇది ప్రజల కోసం తయారు చేసిన ఉత్పత్తి కాదు. ఇది నా కుటుంబం కోసం నేను చేసుకున్న వ్యక్తిగత సాధనం.
లక్ష్యం కేవలం డబ్బు ఆదా చేయడం మాత్రమే కాదు. రెండు సంవత్సరాల తర్వాత, నేను ఒక బటన్ నొక్కితే మా అమ్మాయి ఈరోజు ఎలా పాడిందో వినగలను అని నిర్ధారించుకోవడం నా లక్ష్యం. అదనపు మెయింటెనెన్స్ లేకుండానే ఈ ఆర్కిటెక్చర్ దీనిని సాధ్యం చేస్తుంది.
మీరు ఇన్ఫ్రాస్ట్రక్చర్ కోసం Drive యొక్క రివిజన్ హిస్టరీ లేదా ప్రాపర్టీస్ ఫీల్డ్ను ఉపయోగించారా?
Source: https://dev.to/vankadn/replaced-my-apps-database-with-my-daughters-google-drive-folder-1455
