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

यह रिपॉजिटरी एक उत्पादन-आकार का TypeScript बैकएंड बॉइलरप्लेट प्रदान करता है, जिसका उद्देश्य बुनियादी ढांचा सेटअप को संभाल कर और आर्किटेक्चर अनुशासन को लागू करके विकास को तेज करना है। Fastify, Awilix, Prisma, और BullMQ पर निर्मित, यह कोड को सख्त क्लीन आर्किटेक्चर लेयर्स (डोमेन, एप्लिकेशन, इंफ्रास्ट्रक्चर, प्रेजेंटेशन, कंपोजिशन रूट) में व्यवस्थित करता है, जिसमें निर्भरताएँ अंदर की ओर इशारा करती हैं। महत्वपूर्ण रूप से, ये लेयर बाउंड्री CI में dependency-cruiser का उपयोग करके स्वचालित रूप से लागू की जाती हैं, जिससे आर्किटेक्चरल ड्रिफ्ट को रोका जाता है। प्रमुख विशेषताओं में शामिल हैं: - **HTTP & API**: Zod वैलिडेशन, वर्शन किए गए एंडपॉइंट्स, Swagger UI, और एकसमान त्रुटि हैंडलिंग के साथ Fastify 5। - **ऑथ & सुरक्षा**: Argon2 हैशिंग, JWT एक्सेस/रिफ्रेश टोकन, ईमेल सत्यापन, पासवर्ड रीसेट, और RBAC के लिए संकलन-समय अनुमति कैटलॉग। - **Persistence**: ट्रांज़ैक्शन के लिए यूनिट ऑफ वर्क पैटर्न को लागू करते हुए MariaDB के साथ Prisma। - **जॉब्स & इवेंट्स**: ट्रांज़ैक्शनल आउटबॉक्स पैटर्न, Redis-आधारित BullMQ कतारें, और एक समर्पित वर्कर प्रक्रिया। - **ऑब्जर्वैबिलिटी**: सहसंबंध ID के साथ एकीकृत Pino लॉगिंग, Prometheus मेट्रिक्स, OpenTelemetry ट्रेसिंग, और एक पूर्व-कॉन्फ़िगर किए गए Grafana/Loki/Tempo स्टैक। - **गुणवत्ता**: डोमेन/एप्लिकेशन लेयर्स के लिए 100% कवरेज आवश्यकताएँ, ESLint/Prettier, और एकीकरण परीक्षण के लिए Testcontainers। यह प्रोजेक्ट एक कार्यशील उपयोगकर्ता/ऑथ/RBAC वर्टिकल स्लाइस के साथ आता है, जो नई सुविधाएँ जोड़ने के लिए एक संदर्भ के रूप में काम करता है। यह एक एकल `APP_NAME` पर्यावरण चर के माध्यम से आसान नामकरण का समर्थन करता है और स्थानीय विकास के लिए व्यापक Docker Compose कॉन्फ़िगरेशन शामिल करता है।