ನನ್ನ ಅಪ್ಲಿಕೇಶನ್‌ನ ಡೇಟಾಬೇಸ್ ಅನ್ನು Google Drive ಫೋಲ್ಡರ್‌ನಿಂದ ಬದಲಾಯಿಸಿದೆ

ನನ್ನ ಮಗಳ ಸಂಗೀತದ ಪ್ರಗತಿಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ನಾನು ಬಯಸಿದ್ದೆ. ಅವಳಿಗೆ ಪ್ರತಿ ವಾರ ಅವಳ ಶಿಕ್ಷಕರಿಂದ ಆಡಿಯೋ ಕ್ಲಿಪ್‌ಗಳು ಮತ್ತು ನೋಟ್‌ಗಳು ಸಿಗುತ್ತವೆ. ಅವಳ ಅಭ್ಯಾಸದ ಅವಧಿಗಳನ್ನು ಕಾಲಾನಂತರದಲ್ಲಿ ಕೇಳಿಸಿಕೊಳ್ಳಲು ನಾನು ಬಯಸಿದ್ದೆ. ಹೊಸ ರೆಕಾರ್ಡಿಂಗ್‌ಗಳು ಹಳೆಯವುಗಳನ್ನು overwrite ಮಾಡಬಾರದು ಎಂಬುದು ನನ್ನ ಆಶಯವಾಗಿತ್ತು.

ಇದನ್ನು ಪರಿಹರಿಸಲು ನಾನು ಒಂದು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಮಿಸಿದೆ. ಇದಕ್ಕೆ ಯಾವುದೇ backend ಇಲ್ಲ. ಯಾವುದೇ ಡೇಟಾಬೇಸ್ ಇಲ್ಲ. ಇದಕ್ಕೆ ಸೊನ್ನೆ ರೂಪಾಯಿ ವೆಚ್ಚವಾಗುತ್ತದೆ.

ಹೆಚ್ಚಿನ ડેವಲಪರ್‌ಗಳು Google Drive ನಲ್ಲಿರುವ ಒಂದು ವೈಶಿಷ್ಟ್ಯವನ್ನು ಗಮನಿಸದೆ ಬಿಡುತ್ತಾರೆ. ಅದುವೇ revision history.

ನೀವು ಒಂದೇ ಹೆಸರು ಮತ್ತು ID ಹೊಂದಿರುವ ಫೈಲ್‌ನ ಹೊಸ ವರ್ಷನ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿದಾಗ, Drive ಹಳೆಯ ವರ್ಷನ್ ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಅದು ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ (timestamp) ಮತ್ತು ಬ್ರೌಸ್ ಮಾಡಲು ಲಭ್ಯವಿರುತ್ತದೆ.

ಟೇಬಲ್‌ಗಳು ಮತ್ತು foreign keys ಹೊಂದಿರುವ ಸಂಕೀರ್ಣ ಡೇಟಾಬೇಸ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ಬದಲು, ನಾನು ಕೇವಲ ಫೈಲ್ ಅನ್ನು overwrite ಮಾಡುತ್ತೇನೆ. Drive ತನ್ನಷ್ಟಕ್ಕೆ ತಾನೇ versioning ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಇತಿಹಾಸವನ್ನು ತೋರಿಸಲು ನನ್ನ ಅಪ್ಲಿಕೇಶನ್ ಎರಡು API calls ಬಳಸುತ್ತದೆ. ನಾನು ಯಾವುದೇ versioning logic ಅನ್ನು ಬರೆಯಲಿಲ್ಲ.

ಫೋಲ್ಡರ್ ರಚನೆಯು ನನ್ನ ಡೇಟಾಬೇಸ್ schema ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ:

• ಪ್ರತಿಯೊಂದು ಹಾಡಿಗೆ ತನ್ನದೇ ಆದ ಫೋಲ್ಡರ್ ಇದೆ. • ಫೈಲ್‌ಗಳು teacher-audio ಅಥವಾ student-practice ನಂತಹ prefixes ಬಳಸುತ್ತವೆ. • ರಚನೆಯನ್ನು ವಿವರಿಸಲು ನಾನು JSON ಬಳಸುವುದಿಲ್ಲ. • ಹೊಸ ಫೋಲ್ಡರ್ ಅನ್ನು ಸೇರಿಸುವುದು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್‌ಡೇಟ್ ಮಾಡುತ್ತದೆ.

ಹಾಡುಗಳಿಗೆ ಟ್ಯಾಗ್ ಮಾಡಲು ಕೂಡ ನನಗೆ ಒಂದು ಮಾರ್ಗ ಬೇಕಿತ್ತು. ಇದಕ್ಕಾಗಿ ನಾನು JSON ಫೈಲ್ ಅನ್ನು ಬಳಸಲಿಲ್ಲ. ಬದಲಾಗಿ Drive metadata properties ಬಳಸಿದೆ. ನೀವು ನೇರವಾಗಿ ಫೋಲ್ಡರ್‌ಗೆ key-value pairs ಅನ್ನು ಸೇರಿಸಬಹುದು. ಇದು ಎಲ್ಲವನ್ನೂ ಒಂದೇ API call ನಲ್ಲಿ ಇಡುತ್ತದೆ.

ಸೆಟಪ್:

• Hosting: GitHub Pages (ಉಚಿತ) • Auth: Google Identity Services (ಕೇವಲ Client-side ಮಾತ್ರ) • Storage: Google Drive • Database: ಯಾವುದೂ ಇಲ್ಲ. ಫೋಲ್ಡರ್ ರಚನೆಯೇ ಮಾಡೆಲ್ ಆಗಿದೆ. • ಒಟ್ಟು ವೆಚ್ಚ: $0.

ಒಂದು ಸಲಹೆ: Drive 30 ದಿನಗಳ ನಂತರ ಹಳೆಯ ರಿವಿಷನ್‌ಗಳನ್ನು (revisions) ಅಳಿಸಿಹಾಕುತ್ತದೆ. ಅವುಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು ನೀವು keepRevisionForever flag ಅನ್ನು ಸೆಟ್ ಮಾಡಬೇಕು.

ಇದು ಸಾರ್ವಜನಿಕರಿಗಾಗಿ ಮಾಡಿದ ಉತ್ಪನ್ನವಲ್ಲ. ಇದು ನನ್ನ ಕುಟುಂಬಕ್ಕಾಗಿ ನಾನು ಮಾಡಿಕೊಂಡ ವೈಯಕ್ತಿಕ ಸಾಧನವಾಗಿದೆ.

ಕೇವಲ ಹಣ ಉಳಿಸುವುದು ಮಾತ್ರ ನನ್ನ ಗುರಿಯಾಗಿರಲಿಲ್ಲ. ಬದಲಾಗಿ, ಎರಡು ವರ್ಷಗಳ ನಂತರ, ನಾನು ಒಂದು ಬಟನ್ ಒತ್ತಿದ ತಕ್ಷಣ ನನ್ನ ಮಗಳು ಇಂದು ಹೇಗೆ ಹಾಡುತ್ತಿದ್ದಳು ಎಂಬುದನ್ನು ಕೇಳಿಸಿಕೊಳ್ಳಬಹುದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ನನ್ನ ಗುರಿಯಾಗಿತ್ತು. ಈ ಆರ್ಕಿಟೆಕ್ಚರ್ ಯಾವುದೇ ಹೆಚ್ಚಿನ ನಿರ್ವಹಣೆಯಿಲ್ಲದೆ ಇದನ್ನು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.

ನೀವು ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ (infrastructure) ಗಾಗಿ Drive ನ revision history ಅಥವಾ properties field ಅನ್ನು ಬಳಸಿದ್ದೀರಾ?

Source: https://dev.to/vankadn/replaced-my-apps-database-with-my-daughters-google-drive-folder-1455