Nimebadilisha Kanzi Data ya Programu Yangu kwa Folda ya Google Drive
Nilitaka kufuatilia maendeleo ya muziki ya binti yangu. Anapata vipande vya sauti na maelezo kutoka kwa mwalimu wake kila wiki. Nilitaka kusikiliza vipindi vyake vya mazoezi kwa muda mrefu. Sikutaka rekodi mpya zifute zile za zamani.
Nilijenga programu ili kutatua hili. Haina backend. Haina kanzi data (database). Gharama yake ni dola sifuri.
Watengenezaji wengi hupuuza kipengele kimoja katika Google Drive. Ni historia ya marekebisho (revision history).
Unapopakia toleo jipya la faili lenye jina na ID sawa, Drive huweka toleo la zamani. Linabaki na muda uliowekwa na linaweza kutafutwa.
Badala ya kujenga kanzi data tata yenye majedwali (tables) na funguo za kigeni (foreign keys), mimi hufuta na kuandika faili upya tu. Drive inashughulikia utoaji matoleo (versioning). Programu yangu inatumia API calls mbili kuonyesha historia. Sikuandika mantiki yoyote ya utoaji matoleo.
Muundo wa folda hufanya kazi kama schema ya kanzi data yangu:
• Kila wimbo una folda yake. • Faili hutumia viambishi kama teacher-audio au student-practice. • Situmii JSON kuelezea muundo. • Kuongeza folda mpya kunasasisha programu kiotomatiki.
Pia nilihitaji njia ya kuweka lebo (tag) nyimbo. Sikutumia faili ya JSON kwa ajili hii. Nilitumia sifa za metadata za Drive. Unaweza kuongeza jozi za funguo-thamani (key-value pairs) moja kwa moja kwenye folda. Hii inafanya kila kitu kiwe katika API call moja.
Mpangilio:
• Hosting: GitHub Pages (Bure) • Auth: Google Identity Services (Upande wa mteja pekee) • Storage: Google Drive • Database: Hakuna. Muundo wa folda ndio mfano (model). • Gharama ya jumla: $0.
Kidokezo kimoja: Drive hufuta marekebisho ya zamani baada ya siku 30. Lazima uweke flag ya keepRevisionForever ili kuyahifadhi.
Hii si bidhaa kwa ajili ya umma. Ni kifaa cha kibinafsi kwa ajili ya familia yangu.
Lengo halikuwa tu kuokoa pesa. Lengo lilikuwa kuhakikisha kwamba baada ya miaka miwili, naweza kubonyeza kitufe na kusikia jinsi binti yangu alivyokuwa leo. Muundo huu (architecture) unafanya hili liwezekane bila matengenezo ya ziada.
Je, umewahi kutumia historia ya marekebisho (revision history) au uwanja wa sifa (properties field) wa Drive kwa ajili ya miundombinu?
Chanzo: https://dev.to/vankadn/replaced-my-apps-database-with-my-daughters-google-drive-folder-1455
