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

Amgi (कोरियाई में "स्मरण") iOS के लिए एक ओपन-सोर्स, ऑफ़लाइन-फर्स्ट Anki-संगत फ्लैशकार्ड क्लाइंट है, जिसके साथ एक watchOS ऐप भी है। Anki के लॉजिक को फिर से लागू करने के बजाय, यह C FFI के माध्यम से आधिकारिक ankitects/anki Rust बैकएंड को रैप करता है, इसलिए शेड्यूलिंग, कार्ड टेम्पलेट, खोज, आयात/निर्यात, आंकड़े और सिंक सभी उसी इंजन पर चलते हैं जिसका उपयोग Anki Desktop और AnkiDroid करते हैं। README में वर्णित मुख्य क्षमताएं: - ऑफ़लाइन-फर्स्ट संचालन: ऐप नेटवर्क कनेक्शन के बिना काम करता है और उपलब्ध होने पर सिंक करता है। - किसी भी संगत सर्वर के साथ सिंक, जिसमें AnkiWeb या स्व-होस्टेड सिंक सर्वर शामिल है, संग्रह अलग होने पर सुरक्षित मर्ज के साथ। - FSRS शेड्यूलिंग, साथ ही प्रति-डेक FSRS सिम्युलेटर। - ऑफ़लाइन Yomitan-संगत शब्दकोश लुकअप के साथ एक अंतर्निहित EPUB रीडर, जिसका उद्देश्य उपयोगकर्ताओं को उनके पढ़े हुए से कार्ड बनाने देना है। - पावर-यूज़र सुविधाएं जैसे इमेज ऑक्लूज़न, कार्ड टेम्पलेट, डेक और टैग फ़िल्टर चिप्स के साथ Anki खोज, और स्ट्रीक्स तथा भविष्य-देय पूर्वानुमान सहित आंकड़े। - फ़ोन से आगे: होम-स्क्रीन विजेट, एक Apple Watch ऐप जो डिवाइस पर ही इंजन चलाता है, और Shortcuts/Siri क्रियाएं। आर्किटेक्चर: SwiftUI फ़ीचर मॉड्यूल डिपेंडेंसी-इंजेक्शन क्लाइंट, सर्विस फ़साड, टाइप्ड protobuf अनुरोध, बैकएंड के चारों ओर एक Swift रैपर, चार-फ़ंक्शन C FFI सीम, और अंत में Rust डायनामिक फ्रेमवर्क के ऊपर स्थित हैं। Swift UI का स्वामी है; Rust डेटाबेस (SQLite), सिंक, शेड्यूलिंग, टेम्पलेट, खोज, आयात/निर्यात और आंकड़ों का स्वामी है। सीरियलाइज़ेशन Protocol Buffers का उपयोग करता है जिसमें 25 .proto सर्विस परिभाषाएं हैं। टेक स्टैक: Swift 6.2 सख्त कॉन्करेंसी के साथ (भाषा मोड v6), इंजेक्शन के लिए swift-dependencies, लाइब्रेरी और फ़ीचर मॉड्यूल के लिए SPM, और ऐप, विजेट तथा वॉच टारगेट के लिए xcodegen। EPUB सपोर्ट EPUBKit (MIT) को वेंडर करता है और Yomitan शब्दकोशों के लिए hoshidicts का उपयोग करता है। बिल्ड के लिए Xcode 26, Rust (stable और nightly, watchOS स्लाइस के लिए बाद वाला), protoc और xcodegen आवश्यक हैं। प्रोजेक्ट चेक-इन करने के बजाय जनरेट किया जाता है; README में Rust xcframework बनाने, protobuf Swift प्रकार जनरेट करने, और Xcode प्रोजेक्ट जनरेट करने के कमांड दिए गए हैं। दस्तावेज़ीकरण में सुविधाएं, बिल्डिंग, आर्किटेक्चर, Rust ब्रिज, डेटा फ़्लो और कोड स्टाइल शामिल हैं। लाइसेंसिंग: AGPL-3.0, क्योंकि यह ankitects/anki को शामिल करता है, जो भी AGPL-3.0 है। README में कहा गया है कि सॉफ़्टवेयर वितरित करने या इसे नेटवर्क सेवा के रूप में चलाने के लिए उसी लाइसेंस के तहत पूरा सोर्स उपलब्ध कराना आवश्यक है। CONTRIBUTING.md के माध्यम से योगदान का स्वागत है, और README में Anki प्रोजेक्ट, इमेज ऑक्लूज़न और थीमिंग कार्य में योगदान देने वाले पूर्व फ़ोर्क, मोबाइल Rust ब्रिज पैटर्न के लिए AnkiDroid, और swift-dependencies के लिए Point-Free को श्रेय दिया गया है।