स्पेस्ड रिपिटिशन के लिए स्व-होस्टेड ओपन-सोर्स Flashcards ऐप

हाँ, Flashcards को स्व-होस्ट किया जा सकता है। पूरा ऐप्लिकेशन और इन्फ्रास्ट्रक्चर कोड MIT लाइसेंस के अंतर्गत ओपन सोर्स है। आप डेवलपमेंट के लिए सेवाओं को लोकल रूप से चला सकते हैं या रिपॉज़िटरी के दस्तावेज़ित प्रोडक्शन स्टैक को AWS पर डिप्लॉय कर सकते हैं। अगर आप इन्फ्रास्ट्रक्चर नहीं चलाना चाहते, तो होस्टेड ऐप उपलब्ध है।

रिव्यू, प्रगति, AI चैट और कार्ड दिखाती Flashcards ओपन-सोर्स ऐप की मोबाइल स्क्रीन

क्या-क्या स्व-होस्ट किया जा सकता है

रिपॉज़िटरी में मुख्य Flashcards सिस्टम की सेवाएँ और इन्फ्रास्ट्रक्चर शामिल हैं:

  • वेब ऐप और एडमिन ऐप
  • बैकएंड API और पासवर्डलेस ऑथेंटिकेशन सेवा
  • PostgreSQL स्कीमा, माइग्रेशन, सिंक और FSRS-आधारित रिव्यू शेड्यूलिंग
  • MCP सर्वर और मशीनों के लिए Agent API
  • नेटवर्किंग, डेटाबेस, ऑथेंटिकेशन, API, स्टैटिक वेब होस्टिंग, सीक्रेट, बैकअप, मॉनिटरिंग और CI/CD के लिए AWS CDK स्टैक

इसमें नेटिव iOS और Android क्लाइंट भी शामिल हैं। वे ऐप अलग से बिल्ड होते हैं; AWS स्टैक डिप्लॉय करने पर आपके अपने App Store या Google Play रिलीज़ अपने-आप प्रकाशित नहीं होते।

सर्वर-साइड स्टैक चलाने के दो समर्थित तरीके हैं:

  1. लोकल डेवलपमेंट: Docker Compose PostgreSQL और माइग्रेशन जॉब चलाता है। रिपॉज़िटरी की स्क्रिप्ट होस्ट पर ऑथ, बैकएंड, वेब और एडमिन डेवलपमेंट सर्वर चलाती हैं।
  2. AWS पर प्रोडक्शन: शामिल CDK स्टैक दस्तावेज़ित AWS आर्किटेक्चर डिप्लॉय करता है और उसके सार्वजनिक डोमेन Cloudflare के ज़रिए जोड़ता है।

Docker Compose प्रोडक्शन डिप्लॉयमेंट का एक-कमांड समाधान नहीं है। प्रोडक्शन का रास्ता AWS-विशिष्ट है और प्रोजेक्ट विक्रेता-निरपेक्ष इन्फ्रास्ट्रक्चर का दावा नहीं करता।

रिपॉज़िटरी में अभी क्या शामिल है

यह केवल एक स्वतंत्र फ्लैशकार्ड एडिटर नहीं है। मौजूदा रिपॉज़िटरी में ये चीज़ें शामिल हैं:

  • React वेब क्लाइंट और एडमिन क्लाइंट
  • नेटिव SwiftUI iOS और Jetpack Compose Android क्लाइंट
  • उपयोगकर्ताओं के क्लाइंट के लिए ऑफ़लाइन-फर्स्ट लोकल स्टोरेज और सिंक
  • आगे/पीछे वाले कार्ड, टैग, संबंधित मीडिया और FSRS रिव्यू
  • Amazon Cognito और ऑथ सेवा के ज़रिए पासवर्डलेस ईमेल OTP
  • डिप्लॉय किए गए एसिंक्रोनस वर्कर और ऑपरेटर द्वारा दिए मॉडल क्रेडेंशियल पर चलने वाली AI चैट
  • संगत AI क्लाइंट के लिए MCP एंडपॉइंट
  • टर्मिनल टूल और दूसरे ऑटोमेटेड वर्कफ़्लो के लिए Agent API

मौजूदा सेवा सीमाओं के लिए आर्किटेक्चर दस्तावेज़ सबसे अच्छा स्रोत है। सार्वजनिक API गाइड होस्टेड Agent API का प्रवेश बिंदु समझाती है।

होस्टेड बनाम स्व-होस्टेड

क्षेत्र होस्टेड ऐप स्व-होस्टेड डिप्लॉयमेंट
शुरुआती सेटअप ऐप खोलें और साइन इन करें अकाउंट, सीक्रेट और डोमेन कॉन्फ़िगर करके AWS स्टैक डिप्लॉय करें
इन्फ्रास्ट्रक्चर Flashcards प्रोजेक्ट संचालित करता है आप अपने AWS और Cloudflare अकाउंट में संचालित करते हैं
डेटाबेस और बैकअप आपके लिए प्रबंधित RDS, बैकअप नीति, माइग्रेशन और रिकवरी आपकी ज़िम्मेदारी हैं
ऑथ और ईमेल आपके लिए प्रबंधित Cognito के साथ आपके ईमेल डिलीवरी क्रेडेंशियल और DNS
AI होस्टेड सेवा की कॉन्फ़िगरेशन इस्तेमाल करता है डिप्लॉय किया वर्कर और आपके मॉडल क्रेडेंशियल इस्तेमाल करता है; गेस्ट एक्सेस की अलग सीमा है
मॉनिटरिंग आपके लिए प्रबंधित CloudWatch/SNS और आपकी Sentry कॉन्फ़िगरेशन
अपडेट होस्टेड सेवा जारी करती है आप अपडेट पुल करते, जाँचते, डिप्लॉय करते और मॉनिटर करते हैं
लागत होस्टेड प्लान की शर्तें लागू आप AWS और दूसरे प्रदाताओं की लागत सीधे चुकाते हैं

स्व-होस्टिंग आपको डिप्लॉयमेंट और डेटाबेस पर नियंत्रण देती है। साथ ही, सुरक्षा अपडेट, सीक्रेट, उपलब्धता, बैकअप, ईमेल डिलीवरी, मॉनिटरिंग और क्लाउड लागत की ज़िम्मेदारी भी आपकी होती है।

ज़रूरतें और लोकल क्विक स्टार्ट

लोकल डेवलपमेंट के लिए अभी Git, Bash, GNU Make, Docker के साथ Docker Compose, Node.js 24 और npm चाहिए। दी गई Compose फ़ाइल PostgreSQL 18.4 चलाती है और डेटाबेस माइग्रेशन लागू करती है।

रिपॉज़िटरी की रूट से:

git clone https://github.com/kirill-markin/flashcards-open-source-app.git
cd flashcards-open-source-app
cp .env.example .env
make db-up
npm install --prefix api
npm install --prefix apps/auth
npm install --prefix apps/backend
npm install --prefix apps/web
npm install --prefix apps/admin

सबसे छोटे, केवल-लोकल स्टार्ट के लिए बैकएंड को माइग्रेशन द्वारा बनाई गई भूमिका से चलाएँ और असुरक्षित लोकल ऑथेंटिकेशन को स्पष्ट रूप से चालू करें:

AUTH_MODE=none \
ALLOW_INSECURE_LOCAL_AUTH=true \
DATABASE_URL=postgresql://backend_app:backend_app@localhost:5432/flashcards \
REPORTING_DATABASE_URL=postgresql://reporting_readonly:reporting_readonly@localhost:5432/flashcards \
make backend-dev

फिर क्लाइंट को अलग-अलग टर्मिनल में चलाएँ:

make web-dev
make admin-dev

यह जानबूझकर Cognito ऑथ सेवा शुरू नहीं करता। पूरा Cognito फ़्लो make auth-dev के साथ चलाने के लिए अलग डेटाबेस URL और एनवायरनमेंट लोड करने के चरण स्व-होस्टिंग गाइड में दिए गए हैं। वेब ऐप http://localhost:3000 पर, एडमिन ऐप http://localhost:3001 पर, बैकएंड http://localhost:8080/v1 पर और कॉन्फ़िगर होने पर Cognito ऑथ http://localhost:8081 पर चलता है।

यह क्विक स्टार्ट मुख्य बैकएंड, वेब और एडमिन डेवलपमेंट को कवर करता है। इससे Chat V2 उपलब्ध नहीं होता: वे रूट AUTH_MODE=none ट्रांसपोर्ट स्वीकार नहीं करते और लोकल कमांड एसिंक्रोनस चैट वर्कर शुरू नहीं करते।

प्रोडक्शन के लिए Docker Compose की जगह रिपॉज़िटरी का पहला-डिप्लॉय फ़्लो इस्तेमाल करें:

npm ci --prefix apps/auth
bash scripts/deploy/first-deploy.sh \
  --region eu-central-1 \
  --domain example.com \
  --alert-email alerts@example.com

साफ़ क्लोन से शुरू करने पर अभी ऑथ पैकेज को स्पष्ट रूप से इंस्टॉल करना पड़ता है, क्योंकि डिप्लॉयमेंट हेल्पर उस पैकेज को बंडल करता है लेकिन इंस्टॉल नहीं करता। इसके बाद हेल्पर वास्तविक क्लाउड संसाधन बनाता और अपडेट करता है। इसे चलाने से पहले बैकएंड और वेब डिप्लॉयमेंट गाइड और AWS CDK डिप्लॉयमेंट गाइड पढ़ें।

डेटा पोर्टेबिलिटी उपयोगी है, लेकिन जानबूझकर सीमित है

Flashcards पैकेज इम्पोर्ट और एक्सपोर्ट में कार्ड, उनके टैग और संबंधित मीडिया शामिल होते हैं। इसमें रिव्यू इतिहास, FSRS शेड्यूलर स्टेट, वर्कस्पेस सेटिंग, पूरे डेक की संरचना या अकाउंट डेटा ट्रांसफ़र नहीं होता।

होस्टेड सेवा और अपने डिप्लॉयमेंट के बीच जाते समय यह अंतर महत्वपूर्ण है। पोर्टेबल पैकेज सामग्री ट्रांसफ़र करने का रास्ता है, संपूर्ण डेटाबेस या अकाउंट माइग्रेशन नहीं। पूरे ऑपरेशनल बैकअप के लिए स्व-होस्टेड ऑपरेटर को AWS स्टैक द्वारा बनाए PostgreSQL डेटाबेस और मीडिया स्टोरेज को भी प्रबंधित करना होगा।

AI और बाहरी सेवा के क्रेडेंशियल

सोर्स कोड में क्लाउड अकाउंट, मॉडल क्रेडिट या प्रोडक्शन क्रेडेंशियल शामिल नहीं होते। स्व-होस्टेड ऑपरेटर संबंधित कॉन्फ़िगरेशन देता है:

  • CDK स्टैक के लिए AWS क्रेडेंशियल और AWS अकाउंट
  • दस्तावेज़ित DNS सेटअप के लिए डोमेन और Cloudflare क्रेडेंशियल
  • ईमेल डिलीवरी के लिए Resend क्रेडेंशियल
  • ज़रूरी बैकएंड मॉनिटरिंग के लिए Sentry कॉन्फ़िगरेशन
  • AI और ट्रेसिंग के लिए वैकल्पिक OpenAI और Langfuse क्रेडेंशियल
  • शामिल डिप्लॉयमेंट वर्कफ़्लो के लिए GitHub कॉन्फ़िगरेशन

AWS डिप्लॉयमेंट में AI वैकल्पिक है। CDK स्टैक एसिंक्रोनस चैट वर्कर डिप्लॉय करता है और मॉडल क्रेडेंशियल समर्थित ऑथेंटिकेटेड AI अनुरोधों को चालू करते हैं। GUEST_AI_WEIGHTED_MONTHLY_TOKEN_CAP गेस्ट AI उपयोग को अलग से नियंत्रित करता है; यह साइन-इन या बेयरर-ऑथेंटिकेटेड AI के लिए वैश्विक स्विच नहीं है। अगर आप MCP या किसी दूसरे बाहरी AI क्लाइंट को जोड़ते हैं, तो अनुरोध में शामिल कार्ड डेटा उस बाहरी प्रदाता की अपनी शर्तों के अनुसार प्रोसेस हो सकता है; डेटाबेस को स्व-होस्ट करने से वे अनुरोध आपके इन्फ्रास्ट्रक्चर के अंदर नहीं रहते।

बीटा और संचालन की स्पष्ट सीमाएँ

Flashcards अभी शुरुआती उत्पाद है। रिपॉज़िटरी सक्रिय है, माइग्रेशन और डिप्लॉयमेंट कॉन्फ़िगरेशन बदल सकते हैं और स्व-होस्टिंग में यह माना जाता है कि आप AWS ऐप्लिकेशन संचालित करने में सहज हैं।

CDK स्टैक में बैकअप, अलार्म, सीक्रेट और डिप्लॉयमेंट ऑटोमेशन शामिल हैं, लेकिन इन हिस्सों को फिर भी एक ऑपरेटर चाहिए। आपको ये काम करने पड़ेंगे:

  • डिप्लॉय करने से पहले इन्फ्रास्ट्रक्चर के बदलावों की समीक्षा
  • रिलीज़ और सार्वजनिक एंडपॉइंट जाँच की मॉनिटरिंग
  • अलर्ट सब्सक्रिप्शन और ईमेल-डोमेन DNS की पुष्टि
  • क्रेडेंशियल की सुरक्षा और रोटेशन
  • रिस्टोर का परीक्षण और AWS लागत की योजना
  • अपने रिलीज़ चाहिए तो नेटिव मोबाइल ऐप को अलग से बिल्ड और वितरित करना

अगर यह ऑपरेशनल काम आपके लिए उपयोगी नहीं है, तो होस्टेड ऐप सरल विकल्प है।

Anki और Quizlet से संक्षिप्त तुलना

Anki एक परिपक्व ओपन-सोर्स विकल्प है, जिसके पास बड़ा इकोसिस्टम और मज़बूत डेस्कटॉप वर्कफ़्लो हैं। Quizlet कम सेटअप वाला अध्ययन अनुभव देने वाली प्रबंधित उपभोक्ता सेवा है। स्थापित लोकल टूल या पूरी तरह प्रबंधित प्लेटफ़ॉर्म में से आपकी प्राथमिकता के अनुसार दोनों में से कोई भी सही विकल्प हो सकता है।

Flashcards अलग रास्ता अपनाता है: FSRS, सिंक, AI वर्कफ़्लो, MCP और AWS स्व-होस्टिंग विकल्प के इर्द-गिर्द बना ओपन वेब, मोबाइल, API और इन्फ्रास्ट्रक्चर रिपॉज़िटरी। यह Anki से नया है और स्व-होस्ट किए जाने पर Quizlet के मुकाबले बहुत अधिक संचालन कार्य माँगता है। इसे चुनने का कारण यह है कि यह मेल आपकी ज़रूरतों के अनुकूल है, न कि हर विद्यार्थी को क्लाउड स्टैक चलाना चाहिए।

होस्टेड ऐप आज़माएँ या अपना स्टैक चलाएँ

जब आप इन्फ्रास्ट्रक्चर की देखभाल किए बिना पढ़ना चाहते हैं, तब होस्टेड संस्करण इस्तेमाल करें। जब डिप्लॉयमेंट पर नियंत्रण AWS, DNS, ईमेल, मॉनिटरिंग और अपडेट के काम के लायक हो, तब स्व-होस्टेड रास्ता चुनें।

आगे पढ़ें

Anki बनाम Flashcards (2026): आपको कौन-सा ऐप इस्तेमाल करना चाहिए?

ऐप बदलने से पहले FSRS, ऑफ़लाइन इस्तेमाल, मोबाइल ऐप, AI, माइग्रेशन, स्वयं होस्टिंग और डेटा नियंत्रण के आधार पर Anki और Flashcards Open Source App की तुलना करें।

2026 के सर्वश्रेष्ठ ओपन-सोर्स फ़्लैशकार्ड ऐप्स

लाइसेंस, प्लेटफ़ॉर्म, ऑफ़लाइन उपयोग, शेड्यूलर, सिंक, आयात-निर्यात और वास्तविक स्वयं-होस्टिंग के आधार पर सर्वश्रेष्ठ ओपन-सोर्स फ़्लैशकार्ड ऐप्स की तुलना करें।

2026 में StudyFetch का विकल्प: StudyFetch vs Anki vs Flashcards

StudyFetch का विकल्प खोज रहे हैं? AI स्टडी टूल्स, तय अंतराल पर रिव्यू, ऑफ़लाइन इस्तेमाल, प्राइवेसी और मालिकाना हक़ के आधार पर StudyFetch, Anki और Flashcards की तुलना करें।

Knowt Alternative (2026): Knowt और Flashcards की तुलना

AI notes, Learn Mode, practice tests, FSRS, offline study, open source, self-hosting और data control के आधार पर Knowt और Flashcards की तुलना।