28 KiB
AGENTS.md
परियोजना अवलोकन
यो वेब विकासको आधारभूत सिद्धान्तहरू सिकाउनका लागि शैक्षिक पाठ्यक्रमको संग्रहालय हो। पाठ्यक्रम Microsoft Cloud Advocates द्वारा विकास गरिएको १२ हप्ताको समग्र कोर्स हो, जसमा JavaScript, CSS, र HTML कभर गर्ने २४ व्यावहारिक पाठहरू छन्।
प्रमुख घटकहरू
- शैक्षिक सामग्री: परियोजना आधारित मोड्युलहरूमा व्यवस्थित २४ संरचित पाठहरू
- व्यावहारिक परियोजनाहरू: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor, र AI Chat Assistant
- परस्पर प्रतिक्रिया क्विजहरू: ४८ क्विजहरू जहाँ प्रत्येकमा ३ प्रश्नहरू (पाठ अघि र पछि मापन)
- बहुभाषिक समर्थन: GitHub Actions मार्फत ५०+ भाषाहरूको स्वचालित अनुवाद
- प्रविधिहरू: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI परियोजनाहरूका लागि)
वास्तुकला
- पाठ-आधारित संरचना भएको शैक्षिक रिपोजिटरी
- प्रत्येक पाठ फोल्डरमा README, कोड उदाहरणहरू, र समाधानहरू
- अलग फोल्डरहरूमा स्वतन्त्र परियोजनाहरू (quiz-app, विभिन्न पाठ परियोजनाहरू)
- GitHub Actions (co-op-translator) प्रयोग गरी अनुवाद प्रणाली
- Docsify मार्फत डकुमेन्टेशन सेवा र PDF रूपमा उपलब्ध
सेटअप आदेशहरू
यो रिपोजिटरी मुख्य रूपमा शैक्षिक सामग्री प्रयोगका लागि हो। विशेष परियोजनाहरूमा काम गर्नका लागि:
मुख्य रिपोजिटरी सेटअप
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
क्विज एप सेटअप (Vue 3 + Vite)
cd quiz-app
npm install
npm run dev # विकास सर्भर सुरु गर्नुहोस्
npm run build # उत्पादनको लागि निर्माण गर्नुहोस्
npm run lint # ESLint चलाउनुहोस्
बैंक परियोजना API (Node.js + Express)
cd 7-bank-project/api
npm install
npm start # एपीआई सर्भर सुरु गर्नुहोस्
npm run lint # ESLint चलाउनुहोस्
npm run format # Prettier सँग ढाँचा मिलाउनुहोस्
ब्राउजर एक्सटेन्सन परियोजनाहरू
cd 5-browser-extension/solution
npm install
# ब्राउजर-विशिष्ट एक्सटेन्सन लोड गर्ने निर्देशनहरू पालना गर्नुहोस्
स्पेस गेम परियोजनाहरू
cd 6-space-game/solution
npm install
# index.html ब्राउजरमा खोल्नुहोस् वा Live Server प्रयोग गर्नुहोस्
च्याट परियोजना (Python Backend)
cd 9-chat-project/solution/backend/python
pip install openai
# GITHUB_TOKEN वातावरण चर सेट गर्नुहोस्
python api.py
विकास कार्यप्रवाह
सामग्री योगदानकर्ताहरूका लागि
- रिपोजिटरीलाई Fork गर्नुहोस् आफ्नो GitHub खातामा
- आफ्नो Fork क्लोन गर्नुहोस् स्थानीय रूपमा
- आफ्नो परिवर्तनहरूका लागि नयाँ शाखा बनाउनुहोस्
- पाठ सामग्री वा कोड उदाहरणहरूमा परिवर्तन गर्नुहोस्
- सम्बन्धित परियोजना फोल्डरहरूमा कोड परिवर्तनहरू परीक्षण गर्नुहोस्
- योगदान दिशानिर्देशहरू अनुसरण गरी pull request पेश गर्नुहोस्
सिक्नेहरूका लागि
- रिपोजिटरी Fork वा क्लोन गर्नुहोस्
- पाठ फोल्डरहरू अनुक्रममा जानुहोस्
- प्रत्येक पाठका README फाइलहरू पढ्नुहोस्
- https://ff-quizzes.netlify.app/web/ मा पाठ अघि क्विजहरू पूरा गर्नुहोस्
- पाठ फोल्डरहरूमा कोड उदाहरणहरू कार्यान्वयन गर्नुहोस्
- असाइनमेन्ट र चुनौतिहरू पूरा गर्नुहोस्
- पाठ पछि क्विजहरू लिनुहोस्
प्रत्यक्ष विकास
- डकुमेन्टेशन:रुटमा
docsify serveचलाउनुहोस् (पोर्ट ३०००) - क्विज एप:
quiz-appफोल्डरमाnpm run devचलाउनुहोस् - परियोजनाहरू: HTML परियोजनाहरूका लागि VS Code Live Server एक्सटेन्सन प्रयोग गर्नुहोस्
- API परियोजनाहरू: सम्बन्धित API फोल्डरहरूमा
npm startचलाउनुहोस्
परीक्षण निर्देशनहरू
क्विज एप परीक्षण
cd quiz-app
npm run lint # कोड शैली समस्याहरू जाँच गर्नुहोस्
npm run build # बिल्ड सफल हुन्छ भन्ने पक्का गर्नुहोस्
बैंक API परीक्षण
cd 7-bank-project/api
npm run lint # कोड शैलीका समस्याहरू जाँच गर्नुहोस्
node server.js # सर्भर त्रुटिहरू बिना सुरु हुन्छ कि छैन जाँच गर्नुहोस्
सामान्य परीक्षण दृष्टिकोण
- यो शैक्षिक रिपोजिटरी हो, यसमा पूर्ण स्वचालित परीक्षणहरू छैनन्
- म्यानुअल परीक्षण मुख्य रूपमा:
- कोड उदाहरणहरू बिना त्रुटि चल्ने
- डकुमेन्टेशनमा लिंकहरू सही काम गर्ने
- परियोजना सफलतापूर्वक बिल्ड हुने
- उदाहरणहरू उत्कृष्ट अभ्यासहरू अनुसरण गर्ने
पठाउने अघि जाँचहरू
- पस_PACKAGE.JSON भएका फोल्डरहरूमा
npm run lintचलाउनुहोस् - मार्कडाउन लिंकहरू मान्य छन् कि छैनन् जाँच्नुहोस्
- ब्राउजर वा Node.js मा कोड उदाहरणहरू परीक्षण गर्नुहोस्
- अनुवादहरूले उचित संरचना कायम राखेका छन् कि छैनन् जाँच गर्नुहोस्
कोड शैली दिशानिर्देशहरू
JavaScript
- आधुनिक ES6+ सिन्ट्याक्स प्रयोग गर्नुहोस्
- परियोजनाहरूमा दिइएको मानक ESLint सेटिङहरू अनुसरण गर्नुहोस्
- शिक्षार्थीहरूको स्पष्टताका लागि अर्थपूर्ण भेरिएबल र फंक्शन नामहरू प्रयोग गर्नुहोस्
- सिकाउनका लागि अवधारणाहरू व्याख्या गर्ने टिप्पणीहरू थप्नुहोस्
- जहाँ सेट गरिएको छ त्यहाँ Prettier द्वारा फर्म्याटिङ गर्नुहोस्
HTML/CSS
- सेमेन्टिक HTML5 तत्त्वहरू प्रयोग गर्नुहोस्
- उत्तरदायी डिजाइन सिद्धान्तहरू अवलम्बन गर्नुहोस्
- स्पष्ट वर्ग नामकरण प्रणालीहरू
- CSS प्रविधिहरू व्याख्या गर्ने टिप्पणीहरू
Python
- PEP 8 शैली दिशानिर्देशहरू पालना गर्नुहोस्
- स्पष्ट, शैक्षिक कोड उदाहरणहरू
- सिकाइमा मद्दत पुर्याउने थाइप संकेतहरू जहाँ उपयोगी हुन्छन्
Markdown डकुमेन्टेशन
- स्पष्ट शीर्षक अनुक्रम
- भाषा निर्दिष्ट गरिएको कोड ब्लकहरू
- थप स्रोत सामग्रीका लागि लिंकहरू
images/फोल्डरहरूमा स्क्रिनशट र चित्रहरू- पहुँचको लागि छविहरूमा Alt पाठ
फाइल संगठन
- पाठहरू क्रमिक रूपमा नम्बर गरिएको (1-getting-started-lessons, 2-js-basics आदि)
- प्रत्येक परियोजनामा
solution/र प्रायःstart/वाyour-work/फोल्डरहरू - पाठ विशिष्ट
images/फोल्डरहरूमा छविहरू संग्रहित - अनुवादहरू
translations/{language-code}/संरचनामा
निर्माण र तैनाथी
क्विज एप तैनाथी (Azure Static Web Apps)
क्विज एप Azure Static Web Apps मा तैनाथीका लागि कन्फिगर गरिएको छ:
cd quiz-app
npm run build # dist/ फोल्डर सिर्जना गर्दछ
# मुख्यमा पुश हुँदा GitHub Actions वर्कफ्लो मार्फत परिनियोजन गर्दछ
Azure Static Web Apps कन्फिगरेसन:
- एप स्थान:
/quiz-app - आउटपुट स्थान:
dist - कार्यप्रवाह:
.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml
डकुमेन्टेशन PDF निर्माण
npm install # docsify-to-pdf स्थापना गर्नुहोस्
npm run convert # डकहरूबाट PDF निर्माण गर्नुहोस्
Docsify डकुमेन्टेशन
npm install -g docsify-cli # Docsify लाई ग्लोबली इन्स्टल गर्नुहोस्
docsify serve # localhost:3000 मा सेवा दिनुहोस्
परियोजना-विशिष्ट निर्माण
प्रत्येक परियोजना फोल्डरले आफ्नै निर्माण प्रक्रिया राख्न सक्छ:
- Vue परियोजनाहरू:
npm run buildले उत्पादन बन्डलहरू सिर्जना गर्छ - स्थिर परियोजनाहरू: कुनै निर्माण चरण छैन, फाइलहरू सिधै सेवा गर्नुहोस्
पुल अनुरोध दिशानिर्देशहरू
शीर्षक ढाँचा
परिवर्तन क्षेत्र स्पष्ट गर्ने शीर्षक प्रयोग गर्नुहोस्:
[Quiz-app] पाठ X को लागि नयाँ क्विज थप्नुहोस्[Lesson-3] टेरारियम परियोजनामा टाइपो सच्याउनुहोस्[Translation] पाठ 5 का लागि स्पेनिश अनुवाद थप्नुहोस्[Docs] सेटअप निर्देशनहरू अद्यावधिक गर्नुहोस्
आवश्यक जाँचहरू
PR पेश गर्नु अघि:
-
कोड गुणस्तर:
- प्रभावित परियोजना फोल्डरहरूमा
npm run lintचलाउनुहोस् - सबै लिङ्टिंग त्रुटि र चेतावनीहरू सच्याउनुहोस्
- प्रभावित परियोजना फोल्डरहरूमा
-
निर्माण प्रमाणीकरण:
- लागू भएमा
npm run buildचलाउनुहोस् - कुनै निर्माण त्रुटि नभएको सुनिश्चित गर्नुहोस्
- लागू भएमा
-
लिङ्क जाँच:
- सबै मार्कडाउन लिंकहरू परीक्षण गर्नुहोस्
- छवि सन्दर्भहरू काम गर्ने सुनिश्चित गर्नुहोस्
-
सामग्री समीक्षा:
- वर्तनी र व्याकरणको प्रूफ रिडिंग गर्नुहोस्
- कोड उदाहरणहरू सही र शैक्षिक छन् कि छैनन् सुनिश्चित गर्नुहोस्
- अनुवादहरूले मूल अर्थ कायम राखेका छन् कि छैनन् जाँच गर्नुहोस्
योगदान आवश्यकताहरू
- Microsoft CLA मा सहमति जनाउनुहोस् (पहिलो PR मा स्वचालित जाँच)
- Microsoft Open Source Code of Conduct अनुसरण गर्नुहोस्
- विस्तृत दिशानिर्देशहरूका लागि CONTRIBUTING.md हेर्नुहोस्
- आवश्यकता अनुसार PR विवरणमा इश्यू नम्बर उल्लेख गर्नुहोस्
समीक्षा प्रक्रिया
- PR हरू मर्मतकर्ता र समुदायले समीक्षा गर्नेछन्
- शैक्षिक स्पष्टता प्राथमिकता दिइनेछ
- कोड उदाहरणहरूले वर्तमान उत्कृष्ट अभ्यासहरू अनुसरण गर्नुपर्छ
- अनुवादहरू सटीकता र सांस्कृतिक उपयुक्तताका लागि समीक्षा गरिनेछ
अनुवाद प्रणाली
स्वचालित अनुवाद
- GitHub Actions सँग co-op-translator कार्यप्रवाह प्रयोग गर्दछ
- ५०+ भाषामा स्वचालित रूपमा अनुवाद गर्दछ
- मुख्य फोल्डरहरूमा स्रोत फाइलहरू
- अनुवादित फाइलहरू
translations/{language-code}/फोल्डरमा
म्यानुअल अनुवाद सुधारहरू थप्ने तरिका
translations/{language-code}/मा फाइल खोज्नुहोस्- संरचना कायम राख्दै सुधार गर्नुहोस्
- कोड उदाहरणहरू कार्यशील छन् कि छैनन् सुनिश्चित गर्नुहोस्
- कुनै स्थानीयकृत क्विज सामग्री भए परीक्षण गर्नुहोस्
अनुवाद मेटाडाटा
अनुवादित फाइलहरूमा मेटाडाटा हेडर समावेश हुन्छ:
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "...",
"translation_date": "...",
"source_file": "...",
"language_code": "..."
}
-->
डिबगिङ र समस्या समाधान
सामान्य समस्याहरू
क्विज एप सुरु हुँदैन:
- Node.js संस्करण जाँच्नुहोस् (v14+ सिफारिस गरिएको)
node_modulesरpackage-lock.jsonमेटेर फेरिnpm installचलाउनुहोस्- पोर्ट द्वन्द्व जाँच्नुहोस् (पूर्वनिर्धारित: Vite पोर्ट 5173)
API सर्भर सुरु हुँदैन:
- Node.js संस्करण कम्तिमा node >=10 छ कि छैन जाँच्नुहोस्
- पोर्ट पहिल्यै प्रयोगमा छ कि छैन देख्नुहोस्
- सबै निर्भरताहरू
npm installबाट इन्स्टल गरिएको सुनिश्चित गर्नुहोस्
ब्राउजर एक्सटेन्सन लोड हुँदैन:
- manifest.json सही ढंगले तयार छ कि छैन जाँच गर्नुहोस्
- ब्राउजर कन्सोलमा त्रुटि हेर्नुहोस्
- ब्राउजर विशेष एक्सटेन्सन स्थापना निर्देशनहरू पालना गर्नुहोस्
Python च्याट परियोजनामा समस्या:
- OpenAI प्याकेज इन्स्टल गरिएको छ:
pip install openai - GITHUB_TOKEN वातावरण चर सेट गरिएको छ कि छैन जाँच्नुहोस्
- GitHub Models पहुँच अनुमतिहरू ठीक छन् कि हेर्नुहोस्
Docsify डकुमेन्टेशन सेवा दिदैन:
- docsify-cli ग्लोबली इन्स्टल गर्नुहोस्:
npm install -g docsify-cli - रिपोजिटरीको रुटबाट चलाउनुहोस्
docs/_sidebar.mdअस्तित्वमा छ कि छैन जाँच्नुहोस्
विकास वातावरणका सुझावहरू
- HTML परियोजनाहरूका लागि VS Code Live Server एक्सटेन्सन प्रयोग गर्नुहोस्
- स्थिर फर्म्याटिङका लागि ESLint र Prettier एक्सटेन्सनहरू इन्स्टल गर्नुहोस्
- JavaScript डिबगिङका लागि ब्राउजरका DevTools प्रयोग गर्नुहोस्
- Vue परियोजनाहरूका लागि Vue DevTools ब्राउजर एक्सटेन्सन इन्स्टल गर्नुहोस्
प्रदर्शन सम्बन्धी विचारहरू
- धेरै अनुवादित फाइलहरू (५०+ भाषा) को कारण पूर्ण क्लोन ठूलो हुन्छ
- केवल सामग्रीमा काम गर्दा shallow clone प्रयोग गर्नुहोस्:
git clone --depth 1 - अंग्रेजी सामग्रीमा काम गर्दा अनुवादहरू खोजबाट अलग गर्नुहोस्
- पहिलो रनमा निर्माण प्रक्रिया ढिलो हुन सक्छ (npm install, Vite build)
सुरक्षा सम्बन्धी विचारहरू
वातावरण चरहरू
- API कुञ्जीहरू रिपोजिटरीमा कहिल्यै कमिट गर्नु हुँदैन
.envफाइलहरू प्रयोग गर्नुहोस् (पहिले नै.gitignoreमा छन्)- परियोजना README मा आवश्यक वातावरण चरहरू उल्लेख गर्नुहोस्
Python परियोजनाहरू
- भर्चुअल वातावरणहरू प्रयोग गर्नुहोस्:
python -m venv venv - निर्भरता अपडेट राख्नुहोस्
- GitHub टोकनहरू न्यूनतम आवश्यक अनुमति मात्र राख्नुपर्छ
GitHub Models पहुँच
- GitHub Models का लागि Personal Access Tokens (PAT) आवश्यक
- टोकनहरू वातावरण चरको रूपमा राख्नुहोस्
- टोकन वा प्रमाणपत्र कहिल्यै कमिट नगर्नुहोस्
थप नोटहरू
लक्षित दर्शक
- वेब विकासका नयाँ सुरूवातकर्ताहरू
- विद्यार्थी र स्वतः सिक्नेहरू
- कक्षाहरूमा यो पाठ्यक्रम प्रयोग गर्ने शिक्षकहरू
- सामग्री पहुँचयोग्य र क्रमबद्ध सीप विकासका लागि डिजाइन गरिएको
शैक्षिक दर्शन
- परियोजना आधारित सिकाइ पद्धति
- बारम्बार ज्ञान परीक्षण (क्विज)
- हात-बाट कोडिङ अभ्यासहरू
- वास्तविक कार्यान्वयन उदाहरणहरू
- फ्रेमवर्क अघि आधारभूतमा केन्द्रित
रिपोजिटरी मर्मत
- सिक्ने र योगदान गर्ने सक्रिय समुदाय
- निर्भरता र सामग्री नियमित अपडेट
- मर्मतकर्ताद्वारा समस्याहरू र छलफलहरू अनुगमन
- GitHub Actions मार्फत अनुवाद अपडेट स्वचालित
सम्बन्धित स्रोतहरू
- Microsoft Learn मोड्युलहरू
- Student Hub स्रोतहरू
- सिक्नेहरूका लागि सिफारिस: GitHub Copilot
- थप पाठ्यक्रमहरू: जनरेटिभ AI, डेटा विज्ञान, ML, IoT पाठ्यक्रमहरू उपलब्ध
विशेष परियोजनाहरूमा काम गर्ने तरिका
व्यक्तिगतरूपमा परियोजनाहरूको विस्तृत निर्देशनका लागि निम्न फोल्डरहरूमा README हेर्नुहोस्:
quiz-app/README.md- Vue 3 क्विज एप्लिकेशन7-bank-project/README.md- प्रमाणीकरण सहित बैंकिङ एप्लिकेशन5-browser-extension/README.md- ब्राउजर एक्सटेन्सन विकास6-space-game/README.md- क्यानभास आधारित खेल विकास9-chat-project/README.md- AI च्याट सहयोगी परियोजना
मोनोरिपोजिटरी संरचना
यो परम्परागत मोनोरिपोजिटरी होइन, तर यसमा धेरै स्वतन्त्र परियोजनाहरू छन्:
- प्रत्येक पाठ स्वयंपूर्ण छ
- परियोजनाहरू निर्भरता साझा गर्दैनन्
- व्यक्तिगत परियोजनामा काम गर्दा अरूलाई असर पर्ने छैन
- सम्पूर्ण पाठ्यक्रम अनुभवका लागि सम्पूर्ण रिपोजिटरी क्लोन गर्नुहोस्
अस्वीकरण:
यस कागजातलाई AI अनुवाद सेवा Co-op Translator प्रयोग गरी अनुवाद गरिएको हो। हामी शुद्धताको लागि प्रयास गरिरहेका छौं, तर कृपया बुझ्नुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छन्। मूल कागजात यसको स्वदेशी भाषामा नै आधिकारिक स्रोत मानिनु पर्छ। गम्भीर जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा दृष्टिकोण त्रुटिहरूको लागि हामी जिम्मेवार छैनौं।