# AGENTS.md ## Project Overview ಇದು ಆರಂಭಿಕರಿಗೆ ವೆಬ್ ಅಭಿವೃದ್ಧಿಯ ಮೂಲಭೂತಗಳನ್ನು ಕಲಿಸುವ ಶೈಕ್ಷಣಿಕ ಪಾಠ್ಯಕ್ರಮ ಸಂಗ್ರಹವಾಗಿದೆ. ಈ ಪಾಠ್ಯಕ್ರಮವು ಮೈಕ್ರೋಸಾಫ್ಟ್ ಕ್ಲೌಡ್ ಅಡ್ವೊಕೇಟ್ಸ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ವ್ಯಾಪಕ 12 ವಾರಗಳ ಕೋರ್ಸ್ ಆಗಿದ್ದು, 24 ಹಸ್ತಪ್ರಯೋಗ ಪಾಠಗಳನ್ನು ಒಳಗೊಂಡಿದೆ, JavaScript, CSS ಮತ್ತು HTML ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ### Key Components - **ಶೈಕ್ಷಣಿಕ ವಿಷಯ**: 24 ರಚನೆಗೊಳಿಸಲಾದ ಪಾಠಗಳು ಯೋಜನೆ ಆಧಾರಿತ ಘಟಕಗಳಾಗಿ ಸರಿಯಲಾಗಿದೆ - **ಆಚಾರ್ಯ ಯೋಜನೆಗಳು**: Terrarium, ಟೈಪಿಂಗ್ ಆಟ, ಬ್ರೌಸರ್ ವಿಸ್ತರಣೆ, ಅಂತರಿಕ್ಷ ಆಟ, ಬ್ಯಾಂಕಿಂಗ್ ಅಪ್ಲಿಕೇಶನ್, ಕೋಡ್ ಎಡಿಟರ್ ಮತ್ತು AI ಚಾಟ್ ಸಹಾಯಕ - **ಪರಸ್ಪರ ಕ್ರಿಯಾಶೀಲ ಕ್ವಿಜುಗಳು**: ಪ್ರತಿ 3 ಪ್ರಶ್ನೆಗಳೊಂದಿಗೆ 48 ಕ್ವಿಜುಗಳು (ಪೂರ್ವ/ಪೋಸ್ಟ್ ಪಾಠ ಇವೆಲ್ಯುವೇಶನ್ಗಳು) - **ಬಹುಭಾಷಾ ಬೆಂಬಲ**: GitHub Actions ಮೂಲಕ 50+ ಭಾಷೆಗಳಿಗಾಗಿ ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳು - **ತಂತ್ರಜ್ಞಾನಗಳು**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (AI ಯೋಜನೆಗಳಿಗೆ) ### Architecture - ಪಾಠ ಆಧಾರಿತ ರಚನೆಯೊಂದಿಗೆ ಶೈಕ್ಷಣಿಕ ಸಂಗ್ರಹಾಲಯ - ಪ್ರತಿ ಪಾಠ ಫೋಲ್ಡರ್ README, ಕೋಡ್ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಪರಿಹಾರಗಳನ್ನು ಹೊಂದಿದೆ - ಸ್ವತಂತ್ರ ಯೋಜನೆಗಳು ಪ್ರತ್ಯೇಕ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ (quiz-app, ವಿವಿಧ ಪಾಠ ಯೋಜನೆಗಳು) - GitHub Actions ಬಳಸಿ ಅನುವಾದ ವ್ಯವಸ್ಥೆ (co-op-translator) - ಡಾಕ್ಯುಮೆಂಟೇಶನ್ Docsify ಮೂಲಕ ಪೂರೈಸಲಾಗಿದ್ದು PDF ಆಗಿ ಲಭ್ಯ ## Setup Commands ಈ ಸಂಗ್ರಹಾಲಯವು ಮುಖ್ಯವಾಗಿ ಶೈಕ್ಷಣಿಕ ವಿಷಯವನ್ನು ಬಳಕೆಗಾರರಿಗೆ ಒದಗಿಸಲು ಇದೆ. ವಿಶೇಷ ಯೋಜನೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು: ### Main Repository Setup ```bash git clone https://github.com/microsoft/Web-Dev-For-Beginners.git cd Web-Dev-For-Beginners ``` ### Quiz App Setup (Vue 3 + Vite) ```bash cd quiz-app npm install npm run dev # ಅಭಿವೃದ್ಧಿ ಸರ್ವರ್ ಪ್ರಾರಂಭಿಸಿ npm run build # ಉತ್ಪಾದನಕ್ಕಾಗಿ ನಿರ್ಮಿಸಿ npm run lint # ESLint ಅನ್ನು ನಡಿಸಿ ``` ### Bank Project API (Node.js + Express) ```bash cd 7-bank-project/api npm install npm start # API ಸರ್ವರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ npm run lint # ESLint ಅನ್ನು ನಡೆಸಿ npm run format # Prettier ನೊಂದಿಗೆ ವಿಂಗಡಿಸಿ ``` ### Browser Extension Projects ```bash cd 5-browser-extension/solution npm install # ಬ್ರೌಸರ್-ನಿರ್ದಿಷ್ಟ ವಿಸ್ತರಣೆ ಲೋಡ್ ಮಾರ್ಗದರ್ಶನವನ್ನು ಅನುಸರಿಸಿ ``` ### Space Game Projects ```bash cd 6-space-game/solution npm install # ವೆಬ್ ಬ್ರೌಸರ್‌ನಲ್ಲಿ index.html ತೆರೆಯಿರಿ ಅಥವಾ Live Server ಬಳಸಿರಿ ``` ### Chat Project (Python Backend) ```bash cd 9-chat-project/solution/backend/python pip install openai # GITHUB_TOKEN ಪರಿಸರ ಚರವನ್ನು ಹೊಂದಿಸಿ python api.py ``` ## Development Workflow ### For Content Contributors 1. **ನಿಮ್ಮ GitHub ಖಾತೆಗೆ** ಸಂಗ್ರಹಾಲಯವನ್ನು ಫೋರ್ಕ್ ಮಾಡಿ 2. **ನಿಮ್ಮ ಫೋರ್ಕ್** ಅನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಕ್ಲೋನ್ ಮಾಡಿ 3. **ನಿಮ್ಮ ಬದಲಾವಣೆಗಳಿಗೆ ಹೊಸ ಬ್ರಾಂಚ್** ರಚಿಸಿ 4. ಪಾಠ ವಿಷಯ ಅಥವಾ ಕೋಡ್ ಉದಾಹರಣೆಗಳಲ್ಲಿ ಬದಲಾವಣೆ ಮಾಡಿ 5. ಸಂಬಂಧಿಸಿದ ಯೋಜನೆ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ಯಾವುದೇ ಕೋಡ್ ಬದಲಾವಣೆಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ 6. ಕೊಡುಗೆ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಅನುಸರಿಸಿ ಪುಲ್ ವಿನಂತಿಗಳನ್ನು ಸಲ್ಲಿಸಿ ### For Learners 1. ಸಂಗ್ರಹಾಲಯವನ್ನು ಫೋರ್ಕ್ ಅಥವಾ ಕ್ಲೋನ್ ಮಾಡಿ 2. ಪಾಠ ಡೈರೆಕ್ಟರಿಗಳಿಗೆ ಕ್ರಮವಾಗಿ ನವಿಗೇಟ್ ಮಾಡಿ 3. ಪ್ರತಿ ಪಾಠಕ್ಕೆ README ಕಡತಗಳನ್ನು ಓದಿ 4. ಪೂರ್ವ ಪಾಠ ಕ್ವಿಜುಗಳನ್ನು https://ff-quizzes.netlify.app/web/ ನಲ್ಲಿ ಪೂರ್ಣಗೊಳಿಸಿ 5. ಪಾಠ ಫೋಲ್ಡರ್‌ಗಳಲ್ಲಿ ಕೋಡ್ ಉದಾಹರಣೆಗಳ ಮೂಲಕ ಕೆಲಸ ಮಾಡಿ 6. ಅಸೈನ್‌ಮೆಂಟುಗಳು ಮತ್ತು ಪೋಟೆಗಳು ಪೂರ್ಣಗೊಳಿಸಿ 7. ಪೋಸ್ಟ್-ಪಾಠ ಕ್ವಿಜುಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಿ ### Live Development - **ಡಾಕ್ಯುಮೆಂಟೇಶನ್**: ರೂಟ್‌ನಲ್ಲಿ `docsify serve` ಅನ್ನು ಓಡಿಸಿ (ಪೋರ್ಟ್ 3000) - **Quiz App**: `quiz-app` ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ `npm run dev` ಅನ್ನು ಓಡಿಸಿ - **Projects**: HTML ಯೋಜನೆಗಳಿಗೆ VS Code Live Server ವಿಸ್ತರಣೆ ಬಳಸಿ - **API Projects**: ಅನುರೂಪ API ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ `npm start` ಅನ್ನು ಓಡಿಸಿ ## Testing Instructions ### Quiz App Testing ```bash cd quiz-app npm run lint # ಕೋಡ್ ಶೈಲಿ ಸಮಸ್ಯೆಗಳಿಗಾಗಿ ಪರಿಶೀಲಿಸಿ npm run build # ನಿರ್ಮಾಣ ಯಶಸ್ವಿಯಾಗಿರುವುದನ್ನು ಪರಿಶೀಲಿಸಿ ``` ### Bank API Testing ```bash cd 7-bank-project/api npm run lint # ಕೋಡ್ ಶೈಲಿ ಸಮಸ್ಯೆಗಳ ಪರಿಶೀಲನೆ ಮಾಡಿ node server.js # ಸರ್ವರ್ ದೋಷವಿಲ್ಲದೆ ಶುರುವಾಗುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ ``` ### General Testing Approach - ಇದು ಆಪ್ಟೋಮೇಶನ್ ಪರೀಕ್ಷೆಗಳಿಲ್ಲದ ಶೈಕ್ಷಣಿಕ ಸಂಗ್ರಹ - ಕೈಯಿಂದ ಪರೀಕ್ಷೆ ನೋಡುವದು: - ಕೋಡ್ ಉದಾಹರಣೆಗಳು ದೋಷರಹಿತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ - ಡಾಕ್ಯುಮೆಂಟೇಶನಿನಲ್ಲಿನ ಲಿಂಕ್‌ಗಳು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತವೆ - ಯೋಜನೆ ನಿರ್ಮಾಣ ಯಶಸ್ವಿಯಾಗುತ್ತವೆ - ಉದಾಹರಣೆಗಳು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುತ್ತವೆ ### Pre-submission Checks - package.json ಇರುವ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ `npm run lint` ಓಡಿಸಿ - ಮಾರ್ಕ್‌ಡೌನ್ಗಳ ಲಿಂಕ್‌ಗಳನ್ನು ಮಾನ್ಯವೋ ಎಂದು ಪರಿಶೀಲಿಸಿ - ಬ್ರೌಸರ್ ಅಥವಾ Node.js ನಲ್ಲಿ ಕೋಡ್ ಉದಾಹರಣೆಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ - ಅನುವಾದಗಳು ಸರಿಯಾದ ರಚನೆಯನ್ನು ಹೊಂದಿರುವುದನ್ನು ಪರಿಶೀಲಿಸಿ ## Code Style Guidelines ### JavaScript - ಆಧುನಿಕ ES6+语句 ಬಳಸಿ - ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಲ್ಲಿ ನೀಡಲಾದ ಮಾನದಂಡ ESLint ರೂಲ್ಸ್ ಅನುಸರಿಸಿ - ಹೆಚ್ಚು ಸ್ಪಷ್ಟರಾಗಿ ವ್ಯಾರೀಬಲ್ಗಳು ಮತ್ತು ಫಂಕ್ಷನ್‌ಗಳು ಹೆಸರಿಸು - ಕಲಿಕೆಗಾಗಿ ಟಿಪ್ಪಣಿಗಳನ್ನು ಸೇರಿಸಿ - ಸ್ಥಾಪಿತ ಆಗಿದ್ದಲ್ಲಿ Prettier ಬಳಸಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿ ### HTML/CSS - ಸ್ಮ್ಯಾನ್ಟಿಕ್ HTML5 ಘಟಕಗಳು - ಪ್ರತಿಕ್ರಿಯಾಶೀಲ ವಿನ್ಯಾಸ ತತ್ವಗಳು - ಸ್ಪಷ್ಟ ಕ್ಲಾಸ್ ಹೆಸರಿನ ನಿಯಮಗಳು - CSS ತಂತ್ರಗಳನ್ನು ವಿವರಿಸುವ ಟಿಪ್ಪಣಿಗಳು ### Python - PEP 8 ಶೈಲಿ ಮಾರ್ಗಸೂಚಿಗಳು - ಸ್ಪಷ್ಟ, ಶೈಕ್ಷಣಿಕ ಕೋಡ್ ಉದಾಹರಣೆಗಳು - ಕಲಿಕೆಗೆ ಸಹಾಯಕವಾಗಿದ್ದಲ್ಲಿ ಪ್ರಕಾರ ಸೂಚನೆಗಳು ### Markdown Documentation - ಸ್ಪಷ್ಟ ಶೀರ್ಷಿಕೆ ಹೈರಾರ್ಕಿ - ಭಾಷಾ ಸ್ಪೆಸಿಫಿಕೇಶನ್‌ನೊಂದಿಗೆ ಕೋಡ್ ಬ್ಲಾಕ್‌ಗಳು - ಹೆಚ್ಚುವರಿ ಸಂಪನ್ಮೂಲಗಳ ಲಿಂಕ್‌ಗಳು - `images/` ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಮತ್ತು ಚಿತ್ರಗಳು - ಚಿತ್ರಗಳಿಗೆ ಪ್ರವೇಶಾಸುಲಭ್ಯತೆಗಾಗಿ Alt ಪಠ್ಯ ### File Organization - ಪಾಠಗಳು ಕ್ರಮಾಂಕಿತ ಮರಗಳಾಗಿ (1-getting-started-lessons, 2-js-basics ಮುಂತಾದವು) - ಪ್ರತಿ ಯೋಜನೆಗೆ `solution/` ಮತ್ತು ಬಹುಮಾನವಾಗಿ `start/` ಅಥವಾ `your-work/` ಡೈರೆಕ್ಟರಿಗಳು ಇರುತ್ತವೆ - ಪಾಠ ವಿಶೇಷ `images/` ಫೋಲ್ಡರ್‌ಗಳಲ್ಲಿ ಚಿತ್ರಗಳು ಸಂಗ್ರಹವಾಗಿವೆ - ಅನುವಾದಗಳು `translations/{language-code}/` ರಚನೆಯಲ್ಲಿ ## Build and Deployment ### Quiz App Deployment (Azure Static Web Apps) quiz-app ಅನ್ನು Azure Static Web Apps ಎಡಬ್ಲಾಯ್ಮೆಂಟ್‌ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ: ```bash 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` ### Documentation PDF Generation ```bash npm install # docsify-to-pdf ಅನ್ನು ಸ್ಥಾಪಿಸಿ npm run convert # ಡಾಕ್ಸ್‌ನಿಂದ PDF ಸೃಷ್ಟಿಸಿ ``` ### Docsify Documentation ```bash npm install -g docsify-cli # Docsify ಅನ್ನು ಜಾಗತಿಕವಾಗಿ ಸ್ಥಾಪಿಸಿ docsify serve # localhost:3000 ನಲ್ಲಿ ಸರ್ವ್ ಮಾಡಿ ``` ### Project-specific Builds ಪ್ರತಿ ಯೋಜನೆ ಡೈರೆಕ್ಟರಿಗೆ ಸ್ವಂತ ನಿರ್ಮಾಣ ಪ್ರಕ್ರಿಯೆ ಇರಬಹುದು: - Vue ಯೋಜನೆಗಳು: `npm run build` ಬಿಡುಗಡೆಪೂರ್ವ ಬ್ಯುಂಡಲ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ - ಸ್ಥಿರ ಯೋಜನೆಗಳು: ಯಾವುದೇ ನಿರ್ಮಾಣ ಹಂತವಿಲ್ಲದೆ ಕಡತಗಳನ್ನು ನೇರವಾಗಿ ಸೇವ್ ಮಾಡಲಾಗುತ್ತದೆ ## Pull Request Guidelines ### Title Format ಬದಲಾವಣೆ ಪ್ರದೇಶವನ್ನು ಸೂಚಿಸುವ ಸ್ಪಷ್ಟ, ವಿವರವಾದ ಶೀರ್ಷಿಕೆ ಬಳಸಿ: - `[Quiz-app] ಪಾಠ X ಗೆ ಹೊಸ ಕ್ವಿಜ್ ಸೇರ್ಪಡೆ` - `[Lesson-3] terrarium ಯೋಜನೆಯಲ್ಲಿ ಟೈಪೋ ಸರಿಪಡಿಸಿ` - `[Translation] ಪಾಠ 5ಗಾಗಿ ಸ್ಪಾನಿಷ್ ಅನುವಾದ ಸೇರ್ಪಡೆ` - `[Docs] ಸೆಟ್‌ಅಪ್ ಸೂಚನೆಗಳನ್ನು ನವೀಕರಿಸಿ` ### Required Checks ಪಿಆರ್ ಸಲ್ಲಿಸುವ ಮೊದಲು: 1. **ಕೋಡ್ ಗುಣಮಟ್ಟ**: - ಪ್ರಸ್ತುತ ಪ್ರಾಜೆಕ್ಟ್ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ `npm run lint` ಓಡಿಸಿ - ಲಿಂಟ್ ದೋಷಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಸರಿಪಡಿಸಿ 2. **ನಿರ್ಮಾಣ ಪರಿಶೀಲನೆ**: - ಅಗತ್ಯವಿದ್ದರೆ `npm run build` ಓಡಿಸಿ - ಯಾವುದೇ ನಿರ್ಮಾಣ ದೋಷಗಳಿಲ್ಲದಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿ 3. **ಲಿಂಕ್ ಮಾನ್ಯತೆ**: - ಎಲ್ಲಾ ಮಾರ್ಕ್‌ಡೌನ್ ಲಿಂಕ್‌ಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ - ಚಿತ್ರ ಉಲ್ಲೇಖಗಳು ಸರಿಯಾದವೋ ಎಂದು ಪರಿಶೀಲಿಸಿ 4. **ವಿಷಯ ಪರಿಶೀಲನೆ**: - ವ್ಯಾಕರಣ ಮತ್ತು ಬರಹದ ಸರಿಯಾಗಿ ಹೊಂದಿರುವುದನ್ನು ಪರಿಶೀಲಿಸಿ - ಕೋಡ್ ಉದಾಹರಣೆಗಳು ಸರಿಯಾಗಿದ್ದು ಶೈಕ್ಷಣಿಕವಾಗಿರಲಿ - ಅನುವಾದಗಳು ಮೂಲ ಅರ್ಥವನ್ನು ಕಾಯ್ದುಕೊಳ್ಳುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿ ### Contribution Requirements - ಮೈಕ್ರೋಸಾಫ್ಟ್ CLA ಒಪ್ಪಿಕೊಳ್ಳಿ (ಮೊದಲ PR ನಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಪರಿಶೀಲನೆ) - [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) ಅನುಸರಿಸಿ - ವಿವರವಾದ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು [CONTRIBUTING.md](./CONTRIBUTING.md) ನಲ್ಲಿ ಪಡಿ - ಪ್ರಸ್ತಾವನೆ ವಿವರಣೆಯಲ್ಲಿ ಸಮಸ್ಯೆ ಸಂಖ್ಯೆಗಳ ಉಲ್ಲೇಖ ಮಾಡಿ (ಅದಕ್ಕಾಗಿಯೇ ಇದ್ದರೆ) ### Review Process - PR ಗಳು ನಿರ್ವಹಕರು ಮತ್ತು ಸಮುದಾಯದವರು ಸಹ ಪರಿಶೀಲನೆ ಮಾಡುತ್ತಾರೆ - ಶೈಕ್ಷಣಿಕ ಸ್ಪಷ್ಟತೆ ಪ್ರಧಾನ್ಯ - ಕೋಡ್ ಉದಾಹರಣೆಗಳು ಇತ್ತೀಚಿನ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸಬೇಕು - ಅನುವಾದಗಳನ್ನು ಶುದ್ಧತೆ ಮತ್ತು ಸಾಂಸ್ಕೃತಿಕmerksamkeitಗಾಗಿ ಪರಿಶೀಲನೆ ಮಾಡಲಾಗುತ್ತದೆ ## Translation System ### Automated Translation - GitHub Actions ನೊಂದಿಗೆ co-op-translator ಕಾರ್ಯ ಪ್ರಾಬಲ್ಯ - 50+ ಭಾಷೆಗಳಿಗೂ ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದ - ಮೂಲ ಕಡತಗಳು ಮುಖ್ಯ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ - ಅನುವಾದಿತ ಕಡತಗಳು `translations/{language-code}/` ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ### Adding Manual Translation Improvements 1. `translations/{language-code}/` ನಲ್ಲಿ ಕಡತವನ್ನು ಕಂಡುಹಿಡಿ 2. ರಚನೆಯನ್ನು ಕಾಯ್ದುಕೊಳ್ಳುತ್ತಾ ಸುಧಾರಣೆ ಮಾಡಿ 3. ಕೋಡ್ ಉದಾಹರಣೆಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿ 4. ಸ್ಥಳೀಯ ಕ್ವಿಜ್ ವಿಷಯವನ್ನು ಪರೀಕ್ಷಿಸಿ ### Translation Metadata ಅನುವಾದಿತ ಕಡತಗಳು ಮೆಟಾಡೇಟಾ ಶೀರ್ಷಿಕೆ ಹೊಂದಿರುತ್ತವೆ: ```markdown ``` ## Debugging and Troubleshooting ### Common Issues **Quiz app ಪ್ರಾರಂಭವಾಗುತ್ತಿಲ್ಲ**: - 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 ಮಾದರಿಗಳ ಪ್ರವೇಶ ಅನುವುಗಳನ್ನು ಪರಿಶೀಲಿಸಿ **Docsify ಡಾಕ್ಯುಮೆಂಟ್ ಪೂರೈಸುತ್ತಿಲ್ಲ**: - docsify-cli ಅನ್ನು ಗ್ಲೋಬಲ್ ಆಗಿ ಇನ್ಸ್‌ಟಾಲ್ ಮಾಡಿ: `npm install -g docsify-cli` - ಸಂಗ್ರಹಾಲಯದ ರೂಟ್ ಡೈರೆಕ್ಟರಿಯಿಂದ ಚಾಲನೆ ಮಾಡಿ - `docs/_sidebar.md` ಉಳಿದಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ ### Development Environment Tips - VS Code ನೊಂದಿಗೆ HTML ಯೋಜನೆಗಳಿಗೆ Live Server ವಿಸ್ತರಣೆ ಬಳಸಿ - ಏರ ESLint ಮತ್ತು Prettier ವಿಸ್ತರಣೆಗಳನ್ನು ಸಿದ್ದಪಡಿಸಿ - ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಡಿಬಗ್ಗಿಂಗ್‌ಗೆ ಬ್ರೌಸರ್ ಡೆವ್‌ಟೂಲ್‌ಗಳನ್ನು ಬಳಸಿ - Vue ಯೋಜನೆಗಳಿಗೆ Vue DevTools ಬ್ರೌಸರ್ ವಿಸ್ತರಣೆ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ ### Performance Considerations - ಅನುವಾದಿತ ಕಡತಗಳ ಸಂಖ್ಯೆ ದೊಡ್ಡದು (50+ ಭಾಷೆಗಳು) ಹೀಗಾಗಿ ಸಂಪೂರ್ಣ ಕ್ಲೋನ್ ಗಾತ್ರ ದೊಡ್ಡದು - ವಿಷಯದ ಮೇಲೆಯೇ ಕೆಲಸ ಮಾಡಿದರೆ ಶಾಲೋ ಕ್ಲೋನ್ ಬಳಸಿ: `git clone --depth 1` - ಇಂಗ್ಲಿಷ್ ವಿಷಯದ ಮೇಲೆ ಕೆಲಸ ಮಾಡುವಾಗ ಅನುವಾದಗಳನ್ನು ಹುಡುಕಾಟದಿಂದ ಹೊರತುಪಡಿಸಿ - ಮೊದಲ ಬಾರಿಗೆ npm install, Vite ನಿರ್ಮಾಣ ತಡವಾಗಬಹುದು ## Security Considerations ### Environment Variables - API ಕೀಗಳು ಎಂದಿಗೂ ಸಂಗ್ರಹಾಲಯಕ್ಕೆ ಕಮಿಟ್ ಮಾಡಬೇಡಿ - `.env` ಕಡತಗಳ ಬಳಕೆ (ಇವುಗಳು `.gitignore`ನಲ್ಲಿ ಸೇರಿವೆ) - ಅಗತ್ಯ ಪರಿಸರ ವ್ಯತ್ಯಾಯಗಳನ್ನು ಪ್ರಾಜೆಕ್ಟ್ README ಗಳಲ್ಲಿ ದಾಖಲೆ ಮಾಡಿರಿ ### Python Projects - ವರ್ಚುವಲ್ ಪರಿಸರಗಳನ್ನು ಬಳಸಿ: `python -m venv venv` - ಅವಲಂಬನೆಗಳನ್ನು ನವೀಕರಿಸಿ - GitHub ಟೋಕನ್‌ಗಳಿಗೆ ಕನಿಷ್ಠ ಅಗತ್ಯ ಅನುಮತಿಗಳು ಇರಲಿ ### GitHub Models Access - GitHub ಮಾದರಿಗಳಿಗೆ ವೈಯಕ್ತಿಕ ಪ್ರವೇಶ ಟೋಕನ್‌ಗಳು (PAT) ಅಗತ್ಯ - ಟೋಕನ್‌ಗಳನ್ನು ಪರಿಸರ ವ್ಯತ್ಯಾಯಗಳಾಗಿ ಸಂರಕ್ಷಿಸಿ - ಟೋಕನ್‌ಗಳು ಅಥವಾ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಎಲ್ಲವೇಳೆ ಕಮಿಟ್ ಮಾಡಬೇಡಿ ## Additional Notes ### Target Audience - ವೆಬ್ ಅಭಿವೃದ್ಧಿಗೆ ಸಂಪೂರ್ಣ ಆರಂಭಿಕರು - ವಿದ್ಯಾರ್ಥಿಗಳು ಮತ್ತು ಸ್ವಯಂ ಅಧ್ಯಯನಕಾರರು - ತರಗತಿಗಳಲ್ಲಿ ಪಾಠ್ಯಕ್ರಮ ಬಳ 사용하는 ಶಿಕ್ಷಕರು - ಪ್ರವೇಶಮಾರ್ಗ ಮತ್ತು ಹಂತ ಹಂತದ ಕೌಶಲ್ಯವನ್ನು ಗಮನದಲ್ಲಿಡುತ್ತಿದ್ದ ವಿಷಯ ### Educational Philosophy - ಯೋಜನೆ ಆಧಾರಿತ ಕಲಿಕೆ ವಿಧಾನ - ಹಗುರಾದ ಜ್ಞಾನ ಪರೀಕ್ಷೆಗಳು (ಕ್ವಿಜುಗಳು) - ಕಾರ್ಯಾಚರಣೆಯಾದ ಕೋಡಿಂಗ್ ಅಭ್ಯಾಸಗಳು - ನೈಜ ಜಗತ್ತಿನ ಅನ್ವಯ ಉದಾಹರಣೆಗಳು - ಫ್ರೆಮ್ವರ್ಕ್‌ಗಳ ಮುಂಚಿತವಾಗಿ ಮೂಲಭೂತ ವಿಷಯಗಳ ಮೇಲೆ ಗಮನ ### Repository Maintenance - ಕಲಿಕಾರರು ಮತ್ತು ಕೊಡುಗೆದಾರರ ಸಕ್ರಿಯ ಸಮುದಾಯ - ಅವಲಂಬನೆಗಳು ಮತ್ತು ವಿಷಯ ಸಾಮಗ್ರಿಗಳ ನಿಯಮಿತ ನವೀಕರಣ - ನಿರ್ವಹಕರಿಂದ ಸಮಸ್ಯೆಗಳು ಮತ್ತು ಚರ್ಚೆಗಳು ಮೇಲ್ವಿಚಾರಣೆ - GitHub Actions ಮೂಲಕ ಅನುವಾದ ನವೀಕರಣ ಸ್ವಯಂಚಾಲಿತ ### Related Resources - [Microsoft Learn modules](https://docs.microsoft.com/learn/) - [Student Hub resources](https://docs.microsoft.com/learn/student-hub/) - [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) ಶಿಫಾರಸು ಶೈಕ್ಷಣಿಕರಿಗೆ - ಹೆಚ್ಚಿನ ಕೋರ್ಸ್‌ಗಳು: ಜನರೇಟಿವ್ AI, ಡೇಟಾ ಸಾಯನ್ಸ್, ML, IoT ಪಾಠ್ಯಕ್ರಮಗಳು ಲಭ್ಯ ### Working with Specific Projects ವೈಯಕ್ತಿಕ ಯೋಜನೆಗಳ ವಿವರವಾದ ಸೂಚನೆಗಳಿಗೆ ಓದಿ: - `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 ಚಾಟ್ ಸಹಾಯಕ ಯೋಜನೆ ### Monorepo Structure ಪ್ರಚಲಿತ ಮಾನೊರೆಪೊ ಅಲ್ಲ, ಆದರೆ ಈ ಸಂಗ್ರಹದಲ್ಲಿ ಹಲವಾರು ಸ್ವತಂತ್ರ ಯೋಜನೆಗಳಿವೆ: - ಪ್ರತಿ ಪಾಠ ಸ್ವತಂತ್ರವಾಗಿದೆ - ಯೋಜನೆಗಳು ಅವಲಂಭನೆಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆಯೆಂದು ಇಲ್ಲ - ಇತರರಿಗೆ ವ್ಯತ್ಯಾಸವೇ ಇಲ್ಲದೆ ವೈಯಕ್ತಿಕ ಯೋಜನೆಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡಿ - ಸಂಪೂರ್ಣ ಪಾಠ್ಯಕ್ರಮ ಅನುಭವಕ್ಕಾಗಿ ಪೂರ್ಣ ಸಂಗ್ರಹ ಹಿಂಡಿಸಿ ಇಂದು ಪಡೆಯಿರಿ --- **ತಿರಸ್ಕರಣೆ**: ಈ ದಸ್ತಾವೇಜನ್ನು AI ಭಾಷಾಂತರ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಭಾಷಾಂತರಿಸಲಾಗಿದೆ. ನಾವು ದೃಢತೆಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಭಾಷಾಂತರಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸರೆವುಗಳು ಇರಬಹುದು ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕಾಗಿದೆ. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವ ಭಾಷಾಂತರವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಭಾಷಾಂತರ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪುಬರುವುಗಳು ಅಥವಾ ದುರ್ಬೋಧನೆಗಾಗಿ ನಾವು ಹೊಣೆಗಾರರಾಗಿರುವುದಿಲ್ಲ.