इस प्रोजेक्ट के बारे में
फ्री एपी प्रैक्टिस एक ओपन-सोर्स अध्ययन उपकरण है जिसे SvelteKit और Svelte 5 के साथ बनाया गया है, और इसे Ajay Saravanan द्वारा बनाया और अनुरक्षित किया जाता है। यह AP परीक्षा की तैयारी को लक्षित करता है, जिसका उद्देश्य अभ्यास को तेज़, अधिक व्यक्तिगत और सशुल्क तैयारी सदस्यता के बिना सुलभ बनाना है।
मुख्य विशेषताओं में इन-ऐप ट्यूटर के साथ AI-जनित बहुविकल्पीय प्रश्न, बुकमार्क और प्रयास इतिहास शामिल हैं। ऐप में सार्वजनिक मार्केटिंग पेज (लैंडिंग, अबाउट, विषय, समर स्टडी गाइड, ब्लॉग, स्टैट्स, प्राइवेसी, टर्म्स, चेंजलॉग) के साथ-साथ /app पर एक प्रमाणित क्षेत्र है जिसमें डैशबोर्ड, अभ्यास, प्रगति, प्रश्न इतिहास, संसाधन और सेटिंग्स शामिल हैं। SEO-उन्मुख अभ्यास लैंडिंग पेज /practice/[...slug] के अंतर्गत हैं, और सार्वजनिक जनरेशन काउंटर /stats पर दिखाए जाते हैं।
एक वैकल्पिक Super सदस्यता व्यक्तिगत MCQ/FRQ ट्यूटरिंग, एक Coach और साप्ताहिक अध्ययन योजना जोड़ती है। प्रमाणीकरण ईमेल/पासवर्ड और Google साइन-इन के लिए Better Auth का उपयोग करता है, जिसमें कॉन्फ़िगर होने पर Google One Tap भी शामिल है।
तकनीकी रूप से, प्रोजेक्ट TypeScript, Tailwind CSS, सर्वरलेस HTTPS ड्राइवर पर Drizzle ORM के साथ Neon PostgreSQL, OpenAI-संगत API (OpenAI या स्थानीय LM Studio) के साथ Vercel AI SDK, ईमेल के लिए Resend, सदस्यताओं के लिए Better Auth Stripe प्लगइन के साथ Stripe, वैकल्पिक ट्यूटर मेमोरी के लिए Mem0, अल्पकालिक AI नियंत्रणों के लिए Upstash Redis, और परिनियोजन के लिए Vercel का उपयोग करता है। प्रश्न सामग्री अभ्यास, बुकमार्क और इतिहास के लिए Neon PostgreSQL में संग्रहीत की जाती है; ब्लॉग पोस्ट src/content/blog/ में Markdown फ़ाइलें हैं।
सेटअप के लिए Node.js 20+, Bun और एक Neon PostgreSQL प्रोजेक्ट आवश्यक है। कमांड में bun install, bun dev, bun run build, Drizzle माइग्रेशन के लिए bun run db:apply, Vitest के लिए bun test:unit, और एक परिनियोजित प्रश्न-जनरेशन स्मोक टेस्ट शामिल हैं। एक compose.yaml निरीक्षण और माइग्रेशन कार्य के लिए स्थानीय PostgreSQL और Redis शुरू कर सकता है, हालांकि रनटाइम को Neon ब्रांच URL का उपयोग करना चाहिए। आवश्यक पर्यावरण चर में DATABASE_URL, BETTER_AUTH_SECRET, BETTER_AUTH_URL, OPEN_AI_KEY और OPENAI_BASE_URL शामिल हैं; वैकल्पिक चर Google OAuth, Resend, S3 लिगेसी आयात, GitHub बग रिपोर्ट और cron सुरक्षा को कवर करते हैं। मॉडल विकल्प src/lib/ai/ai-models-config.ts में निर्यात किए गए स्थिरांक हैं।
src/routes/api के अंतर्गत API रूट में /api/auth/* पर Better Auth फ़्लो, /api/me/* पर साइन-इन उपयोगकर्ता डेटा (स्टैट्स, प्रगति, इतिहास, record-attempt, बुकमार्क), POST /api/question पर प्रश्न चयन, सार्वजनिक जनरेशन स्टैट्स, ट्यूटर चैट और ग्रीटिंग एंडपॉइंट, प्रति-IP दर सीमा के साथ GitHub Issues बनाने वाली बग रिपोर्ट, और एक /health जांच शामिल हैं। Vercel Analytics और Speed Insights केवल उपयोगकर्ता की सहमति के बाद लोड होते हैं।
परिनियोजन Vercel पर SvelteKit ऐप के रूप में किया जाता है; CI मुख्य या स्टेजिंग पर पुश पर परिनियोजन से पहले माइग्रेशन लागू करता है। Freeappractice नाम, लोगो और ब्रांड संस्थापक के लिए स्वामित्वपूर्ण और आरक्षित हैं, जबकि स्रोत कोड किसी भिन्न नाम के तहत फोर्किंग और योगदान के लिए खुला है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.