इस प्रोजेक्ट के बारे में

YourSpotify एक स्व-होस्टेड एप्लिकेशन है जिसमें एक वेब सर्वर और एक वेब क्लाइंट शामिल है। सर्वर समय-समय पर Spotify Web API को पोल करता है ताकि उपयोगकर्ता की सुनने की गतिविधि को रिकॉर्ड किया जा सके, और डेटा को MongoDB डेटाबेस में संग्रहीत करता है। वेब एप्लिकेशन सुनने की आदतों के बारे में आँकड़ों का पता लगाने के लिए एक डैशबोर्ड प्रस्तुत करता है। तैनाती मुख्य रूप से Docker Compose के माध्यम से होती है, जिसमें तीन सेवाएँ होती हैं: सर्वर (Go), वेब क्लाइंट (React), और MongoDB। कॉन्फ़िगरेशन पर्यावरण चरों के माध्यम से संभाला जाता है, जिसमें Spotify API क्रेडेंशियल्स (सार्वजनिक और गुप्त कुंजियाँ), एंडपॉइंट URL, समय क्षेत्र, और वैकल्पिक Prometheus प्रमाणीकरण शामिल हैं। एप्लिकेशन का उपयोग करने के लिए, उपयोगकर्ताओं को एक Spotify Developer एप्लिकेशन बनाना होगा, रीडायरेक्ट URI (जैसे, http://localhost:8080/oauth/spotify/callback) कॉन्फ़िगर करना होगा, और सर्वर को क्रेडेंशियल्स प्रदान करना होगा। सर्वर OAuth प्रमाणीकरण और टोकन रीफ्रेश को स्वचालित रूप से संभालता है। ऐतिहासिक सुनने का डेटा Spotify के गोपनीयता डेटा निर्यात से आयात किया जा सकता है। दो आयात विधियाँ समर्थित हैं: मानक गोपनीयता डेटा (पिछले वर्ष का इतिहास, प्रक्रिया करने में 5 दिन तक) और पूर्ण गोपनीयता डेटा (पूरा खाता इतिहास, 30 दिन तक)। आयात प्रक्रिया Spotify API अनुरोधों को कम करने के लिए कैशिंग का उपयोग करती है और बाधित होने पर पुनः प्रयास किया जा सकता है। सुविधाओं में प्रति-उपयोगकर्ता समय क्षेत्र सेटिंग्स, पंजीकरण नियंत्रण (व्यवस्थापक नए साइन-अप अक्षम कर सकता है), Spotify पहुँच रद्द होने पर पुनः प्रमाणीकरण, और बहु-मूल फ्रंटएंड के लिए CORS कॉन्फ़िगरेशन शामिल हैं। परियोजना में एक Prometheus मेट्रिक्स एंडपॉइंट और संरचित लॉगिंग शामिल है।