स्व-होस्टिंग मार्गदर्शिका
आवश्यकताएँ
- Docker
- Node.js 20+
- npm
- दिए गए Docker सेटअप के जरिए PostgreSQL 16+
त्वरित शुरुआत
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
इसके बाद सेवाओं को अलग-अलग टर्मिनल विंडो में चलाएं:
make auth-dev
make backend-dev
make web-dev
इससे ये सेवाएं शुरू होंगी:
postgres, पोर्ट5432परauth, पोर्ट8081परbackend, पोर्ट8080परweb, पोर्ट3000पर
लोकल पते:
http://localhost:3000वेब ऐप के लिएhttp://localhost:8080/v1बैकएंड API के लिएhttp://localhost:8081auth सेवा के लिए
विन्यास
.env.example को .env में कॉपी करें और फिर इन मानों को अपने सेटअप के अनुसार समायोजित करें:
DATABASE_URL— Postgres से कनेक्ट करने वाला URLAUTH_MODE— लोकल उपयोग के लिएnone, email OTP auth के लिएcognitoBACKEND_ALLOWED_ORIGINS— session-authenticated API requests के लिए अनुमति प्राप्त ब्राउज़र स्रोतPUBLIC_API_BASE_URLऔरPUBLIC_AUTH_BASE_URL— जब आप discovery responses में अपने सार्वजनिक होस्ट दिखाना चाहें, तब वैकल्पिक मान
iOS का लोकल विन्यास
मुख्य रिपॉज़िटरी में iOS app अपने लोकल API और auth होस्ट की जानकारी यहां से पढ़ता है:
apps/ios/Flashcards/Config/Local.xcconfig
ज़रूरत हो तो उदाहरण फ़ाइल कॉपी करें:
cp apps/ios/Flashcards/Config/Local.xcconfig.example apps/ios/Flashcards/Config/Local.xcconfig
इसके बाद इसे अपने लोकल या स्वयं होस्ट किए गए api और auth domains की ओर निर्देशित करें।
अद्यतन करना
git pull
npm install --prefix api
npm install --prefix apps/auth
npm install --prefix apps/backend
npm install --prefix apps/web
डिपेंडेंसी बदलने के बाद लोकल सेवाओं को फिर से शुरू करें।
AWS पर परिनियोजन
दस्तावेज़ में वर्णित परिनियोजन संरचना इस प्रकार है:
app.<domain>के लिए CloudFront + S3api.<domain>के लिए API Gateway + Lambdaauth.<domain>के लिए API Gateway + Lambda- AWS RDS में Postgres
- बिना पासवर्ड वाले email OTP के लिए Cognito
- यदि root domain किसी और उपयोग में नहीं है, तो वैकल्पिक
apex redirect
डिप्लॉयमेंट की जानकारी यहां देखें: