chore(i18n): sync translations with latest source changes (chunk 1/1, 12 changes)

update-translations
localizeflow[bot] 2 days ago
parent 13f671d5cf
commit 46dae7bf5e

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:39:45+00:00",
"translation_date": "2026-02-06T18:32:22+00:00",
"source_file": "AGENTS.md",
"language_code": "bg"
},
@ -516,11 +516,17 @@
"language_code": "bg"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T19:08:58+00:00",
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T18:25:04+00:00",
"source_file": "README.md",
"language_code": "bg"
},
"Roadmap.md": {
"original_hash": "28bf6185fd7f27b62ddc210514366192",
"translation_date": "2026-02-06T18:29:51+00:00",
"source_file": "Roadmap.md",
"language_code": "bg"
},
"SECURITY.md": {
"original_hash": "4ecc3bf2e27983d4c780be6f26ee6228",
"translation_date": "2025-08-28T07:29:32+00:00",

@ -2,23 +2,23 @@
## Преглед на проекта
Това е хранилище за образователна учебна програма, предназначена за обучение на начинаещи в основите на уеб разработката. Учебната програма представлява цялостен 12-седмичен курс, разработен от Microsoft Cloud Advocates, включващ 24 практически урока, обхващащи JavaScript, CSS и HTML.
Това е образователно хранилище с учебна програма за преподаване на основите на уеб разработката за начинаещи. Учебната програма е всеобхватен 12-седмичен курс, разработен от Microsoft Cloud Advocates, включващ 24 практични урока, обхващащи JavaScript, CSS и HTML.
### Основни компоненти
- **Образователно съдържание**: 24 структурирани урока, организирани в модули, базирани на проекти
- **Практически проекти**: Терариум, Игра за писане, Разширение за браузър, Космическа игра, Банково приложение, Редактор на код и AI чат асистент
- **Интерактивни тестове**: 48 теста с по 3 въпроса (оценки преди/след урока)
- **Поддръжка на много езици**: Автоматични преводи на над 50 езика чрез GitHub Actions
- **Образователно съдържание**: 24 структурирани урока, организирани в модули с проекти
- **Практически проекти**: Terrarium, Typing Game, Browser Extension, Space Game, Banking App, Code Editor и AI Chat Assistant
- **Интерактивни викторини**: 48 викторини с по 3 въпроса всяка (оценки преди и след урока)
- **Поддръжка на множество езици**: Автоматични преводи на над 50 езика чрез GitHub Actions
- **Технологии**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (за AI проекти)
### Архитектура
- Образователно хранилище със структура, базирана на уроци
- Всяка папка с урок съдържа README, примери за код и решения
- Всяка папка с урок съдържа README, примерен код и решения
- Самостоятелни проекти в отделни директории (quiz-app, различни проекти за уроци)
- Система за превод чрез GitHub Actions (co-op-translator)
- Документация, предоставена чрез Docsify и налична като PDF
- Документация, предоставяна чрез Docsify и достъпна като PDF
## Команди за настройка
@ -36,247 +36,247 @@ cd Web-Dev-For-Beginners
```bash
cd quiz-app
npm install
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run dev # Стартиране на сървъра за разработка
npm run build # Компилиране за продукция
npm run lint # Стартиране на ESLint
```
### API за банков проект (Node.js + Express)
### Bank Project API (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Start API server
npm run lint # Run ESLint
npm run format # Format with Prettier
npm start # Стартиране на API сървър
npm run lint # Стартиране на ESLint
npm run format # Форматиране с Prettier
```
### Проекти за разширения за браузър
### Проекти за браузър разширения
```bash
cd 5-browser-extension/solution
npm install
# Follow browser-specific extension loading instructions
# Следвайте инструкциите за зареждане на разширения, специфични за браузъра
```
### Проекти за космическа игра
### Проекти за Space Game
```bash
cd 6-space-game/solution
npm install
# Open index.html in browser or use Live Server
# Отворете index.html в браузъра или използвайте Live Server
```
### Чат проект (Python Backend)
### Chat Project (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Set GITHUB_TOKEN environment variable
# Задаване на променлива на околната среда GITHUB_TOKEN
python api.py
```
## Работен процес за разработка
### За сътрудници на съдържание
### За сътрудници по съдържанието
1. **Форкнете хранилището** към вашия GitHub акаунт
2. **Клонирайте вашия форк** локално
3. **Създайте нов клон** за вашите промени
4. Направете промени в съдържанието на уроците или примерите за код
5. Тествайте промените в кода в съответните директории на проектите
6. Изпратете pull requests, следвайки указанията за принос
1. **Форкнете хранилището** във вашия GitHub акаунт
2. **Клонирайте своя форк** локално
3. **Създайте нов клон** за промените си
4. Направете промени в съдържанието на уроците или примерния код
5. Тествайте всякакви промени в кода в съответните директории на проектите
6. Подайте pull request според указанията за принос
### За учащи
### За обучаващи се
1. Форкнете или клонирайте хранилището
2. Навигирайте до директориите на уроците последователно
2. Навигирайте последователно към директориите на уроците
3. Прочетете README файловете за всеки урок
4. Завършете тестовете преди урока на https://ff-quizzes.netlify.app/web/
5. Работете върху примерите за код в папките на уроците
6. Завършете задачите и предизвикателствата
7. Направете тестовете след урока
4. Попълнете викторините преди урока на https://ff-quizzes.netlify.app/web/
5. Работете с примерите в папките с уроци
6. Изпълнете задачи и предизвикателства
7. Попълнете викторините след урока
### Жива разработка
- **Документация**: Стартирайте `docsify serve` в root (порт 3000)
- **Документация**: Стартирайте `docsify serve` в корена (порт 3000)
- **Quiz App**: Стартирайте `npm run dev` в директорията quiz-app
- **Проекти**: Използвайте разширението Live Server на VS Code за HTML проекти
- **Проекти**: Използвайте разширението VS Code Live Server за HTML проекти
- **API проекти**: Стартирайте `npm start` в съответните API директории
## Инструкции за тестване
### Тестване на Quiz App
### Тестове за Quiz App
```bash
cd quiz-app
npm run lint # Check for code style issues
npm run build # Verify build succeeds
npm run lint # Проверка за проблеми със стила на кода
npm run build # Провери дали сборката е успешна
```
### Тестване на Bank API
### Тестове за Bank API
```bash
cd 7-bank-project/api
npm run lint # Check for code style issues
node server.js # Verify server starts without errors
npm run lint # Проверка за проблеми със стила на кода
node server.js # Проверка дали сървърът стартира без грешки
```
### Общ подход към тестване
### Обща стратегия за тестване
- Това е образователно хранилище без изчерпателни автоматизирани тестове
- Това е образователно хранилище без пълни автоматизирани тестове
- Ръчното тестване се фокусира върху:
- Примерите за код се изпълняват без грешки
- Линковете в документацията работят правилно
- Проектите се изграждат успешно
- Примерите следват най-добрите практики
- Примерният код да се изпълнява без грешки
- Връзките в документацията да работят правилно
- Проектите да се компилират успешно
- Примерите да следват добри практики
### Проверки преди подаване
- Стартирайте `npm run lint` в директории с package.json
- Уверете се, че линковете в markdown са валидни
- Тествайте примерите за код в браузър или Node.js
- Проверете дали преводите запазват правилната структура
- Проверете дали markdown връзките са валидни
- Тествайте примерите в браузър или Node.js
- Уверете се, че преводите запазват правилната структура
## Насоки за стил на код
## Насоки за стил на кода
### JavaScript
- Използвайте модерен ES6+ синтаксис
- Следвайте стандартните конфигурации на ESLint, предоставени в проектите
- Използвайте смислени имена на променливи и функции за образователна яснота
- Добавяйте коментари, обясняващи концепции за учащите
- Форматирайте с Prettier, където е конфигуриран
- Спазвайте стандартните ESLint конфигурации, предоставени в проектите
- Използвайте смислени имена на променливи и функции за по-голяма образователна яснота
- Добавяйте коментари, обясняващи концепции за обучаващите се
- Форматирайте кода с Prettier, където е конфигурирано
### HTML/CSS
- Семантични HTML5 елементи
- Принципи на отзивчив дизайн
- Ясни конвенции за именуване на класове
- Коментари, обясняващи CSS техники за учащите
- Принципи на адаптивен дизайн
- Ясни наименования на класове
- Коментари, обясняващи CSS техники за учащи се
### Python
- Насоки за стил PEP 8
- Насоки по стил PEP 8
- Ясни, образователни примери за код
- Типови подсказки, където са полезни за обучение
- Типови указания, където са полезни за обучение
### Markdown документация
- Ясна йерархия на заглавията
- Блокове с код със спецификация на езика
- Линкове към допълнителни ресурси
- Скрийншоти и изображения в директории `images/`
- Alt текст за изображения за достъпност
- Блокове с код с посочен език
- Връзки към допълнителни ресурси
- Скрийнове и изображения в папки `images/`
- Алтернативен текст за изображения за достъпност
### Организация на файловете
- Уроците са номерирани последователно (1-getting-started-lessons, 2-js-basics и т.н.)
- Всеки проект има `solution/` и често `start/` или `your-work/` директории
- Изображенията се съхраняват в специфични за урока папки `images/`
- Преводите са в структура `translations/{language-code}/`
- Уроки, номерирани последователно (1-getting-started-lessons, 2-js-basics и т.н.)
- Всеки проект има папки `solution/`, а често и `start/` или `your-work/`
- Изображенията се съхраняват в папки `images/` за съответния урок
- Преводите са под структура `translations/{language-code}/`
## Изграждане и разгръщане
## Сглобяване и деплоймент
### Разгръщане на Quiz App (Azure Static Web Apps)
### Деплой на Quiz App (Azure Static Web Apps)
Quiz-app е конфигуриран за разгръщане в Azure Static Web Apps:
quiz-app е конфигуриран за деплой на Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Creates dist/ folder
# Deploys via GitHub Actions workflow on push to main
npm run build # Създава папка dist/
# Извършва разгръщане чрез работния процес на GitHub Actions при push към main
```
Конфигурация на Azure Static Web Apps:
- **Местоположение на приложението**: `/quiz-app`
- **Местоположение на изхода**: `dist`
- **Работен процес**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Генериране на PDF документация
### Генериране на PDF за документация
```bash
npm install # Install docsify-to-pdf
npm run convert # Generate PDF from docs
npm install # Инсталирайте docsify-to-pdf
npm run convert # Генерирайте PDF от документи
```
### Документация Docsify
### Документация с Docsify
```bash
npm install -g docsify-cli # Install Docsify globally
docsify serve # Serve on localhost:3000
npm install -g docsify-cli # Инсталирайте Docsify глобално
docsify serve # Стартирайте на localhost:3000
```
### Изграждане на специфични за проектите
### Сглобявания на проекти
Всяка директория на проект може да има свой собствен процес на изграждане:
- Vue проекти: `npm run build` създава производствени пакети
- Статични проекти: Няма стъпка за изграждане, файловете се обслужват директно
Всяка проектна директория може да има собствен процес на сглобяване:
- Vue проекти: `npm run build` създава продукционни пакети
- Статични проекти: няма стъпка за build, файловете се сервира директно
## Насоки за Pull Request
## Насоки за pull request
### Формат на заглавието
Използвайте ясни, описателни заглавия, указващи областта на промяната:
- `[Quiz-app] Добавяне на нов тест за урок X`
- `[Lesson-3] Поправка на правописна грешка в проекта за терариум`
- `[Quiz-app] Добавяне на нова викторина за урок X`
- `[Lesson-3] Корекция на правописна грешка в проекта terrarium`
- `[Translation] Добавяне на испански превод за урок 5`
- `[Docs] Актуализиране на инструкции за настройка`
- `[Docs] Актуализация на инструкции за настройка`
### Необходими проверки
### Задължителни проверки
Преди подаване на PR:
1. **Качество на кода**:
- Стартирайте `npm run lint` в засегнатите директории на проекта
- Поправете всички грешки и предупреждения за lint
1. **Код качество**:
- Стартирайте `npm run lint` в засегнатите директории на проектите
- Коригирайте всички грешки и предупреждения
2. **Проверка на изграждането**:
2. **Проверка на билд**:
- Стартирайте `npm run build`, ако е приложимо
- Уверете се, че няма грешки при изграждането
- Уверете се, че няма грешки по време на build
3. **Валидиране на линкове**:
- Тествайте всички линкове в markdown
- Уверете се, че препратките към изображения работят
3. **Проверка на връзките**:
- Тествайте всички markdown връзки
- Проверете дали референциите към изображенията са работещи
4. **Преглед на съдържанието**:
- Проверете за правописни и граматически грешки
- Уверете се, че примерите за код са правилни и образователни
- Проверете дали преводите запазват оригиналното значение
- Проверете правописа и граматиката
- Уверете се, че примерите са правилни и образователни
- Верифицирайте, че преводите запазват оригиналното значение
### Изисквания за принос
- Съгласие с Microsoft CLA (автоматична проверка при първия PR)
- Следване на [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Съгласие с Microsoft CLA (автоматична проверка при първи PR)
- Спазване на [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Вижте [CONTRIBUTING.md](./CONTRIBUTING.md) за подробни указания
- Посочете номера на проблема в описанието на PR, ако е приложимо
- Позоваване на номера на issues в описанието на PR, ако е приложимо
### Процес на преглед
- PR се преглеждат от поддържащите и общността
- PR-овете се преглеждат от поддържащите и общността
- Образователната яснота е приоритет
- Примерите за код трябва да следват текущите най-добри практики
- Преводите се преглеждат за точност и културна уместност
- Примерите в кода трябва да следват актуални добри практики
- Преводите се проверяват за точност и културна адекватност
## Система за превод
### Автоматичен превод
### Автоматизиран превод
- Използва GitHub Actions с работен процес co-op-translator
- Превежда автоматично на над 50 езика
- Използва GitHub Actions с workflow co-op-translator
- Автоматично превежда на 50+ езика
- Изходните файлове са в основните директории
- Преведените файлове са в директории `translations/{language-code}/`
- Преведените файлове са в `translations/{language-code}/` директории
### Добавяне на ръчни подобрения на превода
1. Намерете файла в `translations/{language-code}/`
2. Направете подобрения, като запазите структурата
2. Направете подобрения, като запазвате структурата
3. Уверете се, че примерите за код остават функционални
4. Тествайте всяко локализирано съдържание на тестове
4. Тествайте преведеното викторинно съдържание
### Метаданни за превод
### Метаданни за превода
Преведените файлове включват заглавка с метаданни:
Преведените файлове включват метаданни в заглавката:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -296,111 +296,113 @@ CO_OP_TRANSLATOR_METADATA:
**Quiz app не стартира**:
- Проверете версията на Node.js (препоръчва се v14+)
- Изтрийте `node_modules` и `package-lock.json`, стартирайте `npm install` отново
- Проверете за конфликти на портове (по подразбиране: Vite използва порт 5173)
- Проверете за конфликти на портове (по подразбиране Vite използва порт 5173)
**API сървърът не стартира**:
- Уверете се, че версията на Node.js отговаря на минималните изисквания (node >=10)
- Проверете дали портът вече се използва
- Уверете се, че всички зависимости са инсталирани с `npm install`
- Уверете се, че версията на Node.js е минимум (node >=10)
- Проверете дали портът не е зает
- Осигурете, че всички зависимости са инсталирани с `npm install`
**Разширението за браузър не се зарежда**:
- Проверете дали manifest.json е правилно форматиран
- Проверете дали manifest.json е коректно форматиран
- Проверете конзолата на браузъра за грешки
- Следвайте специфичните за браузъра инструкции за инсталиране на разширения
- Следвайте инструкциите за инсталация на браузър разширенията
**Проблеми с Python чат проекта**:
**Проблеми с Python chat проект**:
- Уверете се, че пакетът OpenAI е инсталиран: `pip install openai`
- Проверете дали променливата на средата GITHUB_TOKEN е зададена
- Проверете разрешенията за достъп до GitHub Models
**Docsify не обслужва документацията**:
**Docsify не предоставя документация**:
- Инсталирайте docsify-cli глобално: `npm install -g docsify-cli`
- Стартирайте от root директорията на хранилището
- Проверете дали `docs/_sidebar.md` съществува
- Стартирайте от кореновата директория на хранилището
- Проверете дали съществува файл `docs/_sidebar.md`
### Съвети за работна среда
### Съвети за среда за разработка
- Използвайте VS Code с разширението Live Server за HTML проекти
- Инсталирайте разширенията ESLint и Prettier за последователно форматиране
- Инсталирайте разширенията ESLint и Prettier за консистентно форматиране
- Използвайте DevTools на браузъра за дебъгване на JavaScript
- За Vue проекти инсталирайте разширението Vue DevTools за браузъра
- За Vue проекти, инсталирайте разширението Vue DevTools за браузър
### Съображения за производителност
### Съображения за производителността
- Голям брой преведени файлове (над 50 езика) означава, че пълните клони са големи
- Използвайте плитко клониране, ако работите само върху съдържание: `git clone --depth 1`
- Изключете преводите от търсенията, когато работите върху съдържание на английски
- Процесите на изграждане може да са бавни при първото стартиране (npm install, Vite build)
- Голяма бройка преведени файлове (50+ езика) прави целите клонове тежки
- Използвайте shallow clone, ако работите само със съдържанието: `git clone --depth 1`
- Изключвайте преводите от търсения при работа с английско съдържание
- Процесът на build може да е бавен при първо стартиране (npm install, Vite build)
## Съображения за сигурност
### Променливи на средата
- API ключовете никога не трябва да се комитират в хранилището
- API ключовете никога не трябва да се качват в хранилището
- Използвайте `.env` файлове (вече в `.gitignore`)
- Документирайте необходимите променливи на средата в README файловете на проектите
- Документирайте необходимите променливи в README файловете на проектите
### Python проекти
- Използвайте виртуални среди: `python -m venv venv`
- Поддържайте зависимостите актуални
- GitHub токените трябва да имат минимално необходимите разрешения
- GitHub токените трябва да имат минимално необходими права
### Достъп до GitHub Models
- Лични токени за достъп (PAT) са необходими за GitHub Models
- Изискват се лични токени за достъп (PAT)
- Токените трябва да се съхраняват като променливи на средата
- Никога не комитвайте токени или идентификационни данни
- Никога не качвайте токени или идентификационни данни
## Допълнителни бележки
### Целева аудитория
- Напълно начинаещи в уеб разработката
- Студенти и самостоятелни учащи
- Учители, използващи учебната програма в класове
- Съдържанието е проектирано за достъпност и постепенно изграждане на умения
- Абсолютни начинаещи в уеб разработката
- Студенти и самостоятелни обучаващи се
- Учители, използващи учебната програма в класните стаи
- Съдържанието е проектирано за достъпност и постепенна подготовка
### Образователна философия
- Подход, базиран на проекти
- Чести проверки на знанията (тестове)
- Практически упражнения за кодиране
- Примери за реално приложение
- Фокус върху основите преди фреймуърковете
- Обучение чрез проекти
- Чести проверки на знанията (викторини)
- Практически упражнения по кодиране
- Примери за реални приложения
- Фокус върху основите преди рамките
### Поддръжка на хранилището
- Активна общност от учащи и сътрудници
- Редовни актуализации на зависимостите и съдържанието
- Проблемите и дискусиите се наблюдават от поддържащите
- Актуализациите на преводите се автоматизират чрез GitHub Actions
- Редовни актуализации на зависимости и съдържание
- Следене на проблеми и дискусии от поддържащите
- Автоматизирани обновления на преводите чрез GitHub Actions
### Свързани ресурси
- [Модули на Microsoft Learn](https://docs.microsoft.com/learn/)
- [Ресурси на Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) препоръчва се за учащи
- Допълнителни курсове: Генеративен AI, Наука за данни, ML, IoT учебни програми
- [Microsoft Learn модули](https://docs.microsoft.com/learn/)
- [Ресурси Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) препоръчван за обучаващи се
- Допълнителни курсове: Generative AI, Data Science, ML, IoT учебни програми
### Работа с конкретни проекти
За подробни инструкции относно отделните проекти, вижте README файловете в:
- `quiz-app/README.md` - Vue 3 приложение за тестове
За подробни инструкции относно отделни проекти, вижте README файловете в:
- `quiz-app/README.md` - Vue 3 quiz приложение
- `7-bank-project/README.md` - Банково приложение с автентикация
- `5-browser-extension/README.md` - Разработка на разширение за браузър
- `6-space-game/README.md` - Разработка на игра, базирана на Canvas
- `5-browser-extension/README.md` - Разработка на браузърно разширение
- `6-space-game/README.md` - Игра базирана на Canvas
- `9-chat-project/README.md` - Проект за AI чат асистент
### Структура на монорепото
### Структура на монорепо
Въпреки че не е традиционно монорепо, това хранилище съдържа множество независими проекти:
- Всеки урок е самостоятелен
- Проектите не споделят зависимости
- Работете върху отделни проекти, без да засягате други
- Клонирайте цялото хранилище за пълно учебно преживяване
- Работете по отделни проекти без да засягате другите
- Клонирайте цялото хранилище за пълното преживяване с учебната програма
---
**Отказ от отговорност**:
Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от отговорност**:
Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за никакви недоразумения или неправилни тълкувания, възникнали от използването на този превод.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -2,7 +2,7 @@
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
@ -12,27 +12,27 @@
# Уеб разработка за начинаещи - Учебна програма
Научете основите на уеб разработката с нашия 12-седмичен обстоен курс, създаден от Microsoft Cloud Advocates. Във всеки от 24-те урока се разглеждат JavaScript, CSS и HTML чрез практически проекти като терариуми, разширения за браузър и космически игри. Включете се в викторини, дискусии и практически задачи. Подобрете уменията си и оптимизирайте усвояването на знанията с нашата ефективна проектно-базирана методика. Започнете своето кодиране още днес!
Научете основите на уеб разработката с нашия 12-седмичен подробен курс, воден от Microsoft Cloud Advocates. Във всеки от 24-те урока се разглеждат JavaScript, CSS и HTML чрез практически проекти като терариуми, разширения за браузър и космически игри. Вземете участие в викторини, дискусии и практически задачи. Усъвършенствайте уменията си и оптимизирайте задържането на знания с нашата ефективна, проектно базирана педагогика. Започнете своето обучение по програмиране още днес!
Присъединете се към общността Azure AI Foundry в Discord
Присъединете се към Discord общността на Azure AI Foundry
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Следвайте тези стъпки, за да започнете да използвате тези ресурси:
1. **Форкване на хранилището**: Кликнете [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Клониране на хранилището**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Присъединете се към Azure AI Foundry Discord и се срещнете с експерти и други разработчици**](https://discord.com/invite/ByRwuEEgH4)
1. **Направете форк на репoзиторията**: Кликнете [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Клонирайте репозиторията**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Присъединете се към Azure AI Foundry Discord и се запознайте с експерти и други разработчици**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Поддръжка на множество езици
#### Поддържани чрез GitHub Action (Автоматично и винаги актуални)
#### Поддържа се чрез GitHub Action (автоматично и винаги актуално)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](./README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Предпочитате да клонирате локално?**
> Това хранилище включва преводи на над 50 езика, което значително увеличава размера на изтегляне. За да клонирате без преводите, използвайте sparse checkout:
> Този репозитори включва над 50 езикови превода, което значително увеличава размера на изтеглянето. За да клонирате без преводи, използвайте sparse checkout:
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
@ -41,83 +41,82 @@
> Това ви дава всичко необходимо за завършване на курса с много по-бързо изтегляне.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Ако желаете да има поддръжка за допълнителни езици, те са изброени [тук](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Ако желаете да бъдат добавени допълнителни преводи, поддържаните езици са изброени [тук](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Отвори в Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Учите ли?_
#### 🧑‍🎓 _Студент ли сте?_
Посетете [**страницата за студенти**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), където ще намерите ресурси за начинаещи, студентски пакети и дори начини да получите безплатен ваучер за сертификат. Това е страницата, която е добре да запазите сред отметките и да проверявате от време на време, тъй като обновяваме съдържанието всеки месец.
Посетете [**Студентския център**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon), където ще намерите ресурси за начинаещи, студентски пакети и дори възможности да получите безплатен ваучер за сертификат. Това е страницата, която искате да добавите в отметките си и от време на време да проверявате, тъй като месечно сменяме съдържанието.
### 📣 Обява - Нови предизвикателства с режим GitHub Copilot Agent за завършване!
### 📣 Обявление - Нови предизвикателства в режим GitHub Copilot Agent за изпълнение!
Добавено е ново предизвикателство, потърсете "GitHub Copilot Agent Challenge 🚀" в повечето глави. Това е ново предизвикателство, което да завършите, използвайки GitHub Copilot и режима Agent. Ако не сте използвали режим Agent досега, той не само генерира текст, но и може да създава и редактира файлове, изпълнява команди и други.
Добавено е ново предизвикателство, потърсете "GitHub Copilot Agent Challenge 🚀" в повечето глави. Това е ново предизвикателство за вас да го изпълните с помощта на GitHub Copilot и режима Agent. Ако не сте ползвали режима Agent преди, той може не само да генерира текст, но и да създава и редактира файлове, изпълнява команди и други.
### 📣 Обява - _Нов проект, базиран на Генеративен AI_
### 📣 Обявление - _Нов проект за създаване с генериращ изкуствен интелект_
Току-що добавен нов проект с AI асистент, разгледайте [проекта](./9-chat-project/README.md)
Току-що добавен нов AI Assistant проект, разгледайте го [тук](./9-chat-project/README.md)
### 📣 Обява - _Нова учебна програма_ за Генеративен AI за JavaScript е вече налична
### 📣 Обявление - _Нова учебна програма_ за Генеративен изкуствен интелект за JavaScript току-що беше пусната
Не пропускайте нашия нов курс за Генеративен AI!
Не пропускайте нашата нова учебна програма за Генеративен ИИ!
Посетете [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), за да започнете!
![Background](../../translated_images/bg/background.148a8d43afde5730.webp)
- Уроци, покриващи всичко от основите до RAG.
- Взаимодействайте с исторически личности чрез GenAI и нашето спомагателно приложение.
- Забавно и вълнуващо повествование, вие ще пътувате във времето!
- Уроци, обхващащи всичко от основи до RAG.
- Взаимодействайте с исторически персонажи чрез GenAI и нашето спомагателно приложение.
- Забавно и увлекателно повествование, ще пътувате във времето!
![character](../../translated_images/bg/character.5c0dd8e067ffd693.webp)
Всеки урок включва задача за изпълнение, проверка на знанията и предизвикателство, за да ви насочи при изучаването на теми като:
- Създаване на заявки и инженерство на заявки
- Генериране на текстови и визуални приложения
Всеки урок включва задача за изпълнение, проверка на знанията и предизвикателство, които да ви насочват в изучаването на теми като:
- Задаване на заявки и инженеринг на заявки
- Генериране на приложения за текст и изображения
- Търсещи приложения
Посетете [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course) за да започнете!
Посетете [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course), за да започнете!
## 🌱 Първи стъпки
## 🌱 Започване
> **Учители**, ние сме [включили някои предложения](for-teachers.md) как да използвате тази учебна програма. Ще се радваме на вашата обратна връзка [в нашия дискусионен форум](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Учители**, включили сме [някои предложения](for-teachers.md) как да използвате тази учебна програма. Ще се радваме на вашите отзиви [в нашия дискусионен форум](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Учащи](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за всеки урок започнете с тест преди лекцията и продължете с четене на учебния материал, изпълнение на различни дейности и проверете разбирането си с тест след лекцията.
**[Ученици](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за всеки урок започнете с предварителна викторина и продължете с четене на учебния материал, изпълнение на различните дейности и проверка на разбирането си с постлекционната викторина.
За да подобрите учебния си опит, свържете се с връстници, за да работите заедно по проектите! Насърчават се дискусиите в нашия [дискусионен форум](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), където нашият модераторски екип ще бъде на разположение да отговаря на въпросите ви.
За да подобрите учебния си опит, свържете се с връстниците си, за да работите заедно по проектите! Насърчават се дискусии в нашия [дискусионен форум](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), където нашият екип от модератори ще бъде на разположение да отговаря на вашите въпроси.
За да надградите знанията си, препоръчваме ви да разгледате [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за допълнителни учебни материали.
За да развиете образованието си допълнително, силно препоръчваме да разгледате [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за допълнителни учебни материали.
### 📋 Настройване на средата ви
### 📋 Настройване на вашата среда
Тази учебна програма е готова със среда за разработка! Когато започнете, можете да изберете да стартирате учебната програма в [Codespace](https://github.com/features/codespaces/) (_среда в браузър, без необходимост от инсталации_), или локално на компютъра си, използвайки текстов редактор като [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Тази учебна програма разполага с готова за употреба среда за разработка! Когато започнете, можете да изберете да стартирате учебната програма в [Codespace](https://github.com/features/codespaces/) (_среда в браузъра, без нужда от инсталация_), или локално на вашия компютър, използвайки текстов редактор като [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Създайте своето хранилище
За да можете лесно да запазвате работата си, препоръчително е да създадете собствено копие на това хранилище. Можете да го направите, като натиснете бутона **Use this template** в горната част на страницата. Това ще създаде ново хранилище във вашия GitHub акаунт с копие на учебната програма.
#### Създайте своето репозитори
За да запазите лесно своята работа, препоръчваме да създадете собствено копие на това репозитори. Можете да го направите, като кликнете върху бутона **Use this template** в горната част на страницата. Това ще създаде ново репозитори във вашия GitHub акаунт с копие на учебната програма.
Следвайте тези стъпки:
1. **Форкване на хранилището**: Кликнете върху бутона "Fork" в горния десен ъгъл на тази страница.
2. **Клониране на хранилището**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
1. **Направете форк на репозиторията**: Кликнете на бутона "Fork" в горния десен ъгъл на тази страница.
2. **Клонирайте репозиторията**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Стартиране на учебната програма в Codespace
В копието на това хранилище, което създадохте, кликнете на бутона **Code** и изберете **Open with Codespaces**. Това ще създаде нов Codespace за работа.
В копието на репозитория, което създадохте, кликнете върху бутона **Code** и изберете **Open with Codespaces**. Това ще създаде нов Codespace, в който да работите.
![Codespace](../../translated_images/bg/createcodespace.0238bbf4d7a8d955.webp)
#### Стартиране на учебната програма локално на компютъра
За да стартирате учебната програма локално на компютъра си, ще ви е необходим текстов редактор, браузър и инструмент за команден ред. Нашият първи урок, [Въведение в програмните езици и инструменти](../../1-getting-started-lessons/1-intro-to-programming-languages), ще ви запознае с различните опции за всеки от тези инструменти, за да изберете най-подходящото за вас.
#### Стартиране на учебната програма локално на вашия компютър
Нашата препоръка е да използвате [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) като редактор, който има и вграден [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Можете да изтеглите Visual Studio Code от [тук](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
За да стартирате учебната програма локално на компютъра си, ще ви е необходим текстов редактор, браузър и инструмент за команден ред. Първият ни урок, [Въведение в програмните езици и инструментите](../../1-getting-started-lessons/1-intro-to-programming-languages), ще ви преведе през различни опции за всеки от тези инструменти, за да изберете най-подходящите за вас.
Препоръчваме да използвате [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) като ваш редактор, който също разполага с вграден [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Можете да изтеглите Visual Studio Code от [тук](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Клонирайте своето хранилище на компютъра си. Можете да направите това като натиснете бутона **Code** и копирате URL адреса:
1. Клонирайте своето репозитори на компютъра си. Можете да го направите, като кликнете бутона **Code** и копирате URL адреса:
[CodeSpace](./images/createcodespace.png)
След това отворете [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и изпълнете следната команда, като замените `<your-repository-url>` с URL адреса, който току-що копирахте:
След това отворете [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) в [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и изпълнете следната команда, като замените `<your-repository-url>` с URL адреса, който току-що копирахте:
```bash
git clone <your-repository-url>
@ -126,145 +125,145 @@
2. Отворете папката във Visual Studio Code. Можете да направите това, като кликнете върху **File** > **Open Folder** и изберете току-що клонираната папка.
> Препоръчани разширения за Visual Studio Code:
> Препоръчителни разширения за Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - за визуализиране на HTML страници във Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - за да ви помогне да пишете код по-бързо
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - за по-бързо писане на код
## 📂 Всеки урок включва:
## 📂 Всяка лекция включва:
- опционален скичен принос
- опционален скицник
- опционално допълнително видео
- предварителен топлищен тест преди урока
- подготовително викторина преди урока
- писмен урок
- при проектно-ориентирани уроци, стъпка по стъпка ръководства как да се изгради проектът
- проверки на знания
- за уроци базирани на проекти, стъпка по стъпка ръководства как да се изгради проекта
- тестове за проверка на знанията
- предизвикателство
- допълнително четене
- задание
- [тест след урок](https://ff-quizzes.netlify.app/web/)
- допълнително четиво
- задача
- [викторина след урока](https://ff-quizzes.netlify.app/web/)
> **Бележка за тестовете**: Всички тестове са съдържани в папката Quiz-app, общо 48 теста с по три въпроса във всеки. Те са налични [тук](https://ff-quizzes.netlify.app/web/), приложението за тестове може да се стартира локално или да се публикува в Azure; следвайте инструкциите в папката `quiz-app`.
> **Забележка относно викторините**: Всички викторини са в папката Quiz-app, общо 48 викторини с по три въпроса. Те са налични [тук](https://ff-quizzes.netlify.app/web/), приложението за викторини може да се стартира локално или да се разположи в Azure; следвайте инструкциите в папката `quiz-app`.
## 🗃️ Уроци
| | Име на проекта | Концепции, които са обучавани | Учебни цели | Свързан урок | Автор |
| :-: | :---------------------------------------------------------: | :--------------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Начало | Въведение в програмирането и инструментите на занаятчията | Научете основните основи зад повечето езици за програмиране и за софтуер, който помага на професионални разработчици да вършат работата си | [Въведение в езиците за програмиране и инструментите на занаятчията](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Начало | Основи на GitHub, включително работа в екип | Как да използвате GitHub в своя проект, как да си сътрудничите с други върху кодова база | [Въведение в GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Начало | Достъпност | Научете основите на уеб достъпността | [Основи на достъпността](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Основи на JS | Типове данни в JavaScript | Основите на типовете данни в JavaScript | [Типове данни](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Основи на JS | Функции и методи | Научете за функции и методи за управление на логиката на приложение | [Функции и методи](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | Основи на JS | Вземане на решения с JS | Научете как да създавате условия в кода си, използвайки методи за вземане на решения | [Вземане на решения](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Основи на JS | Масиви и цикли | Работа с данни чрез масиви и цикли в JavaScript | [Масиви и цикли](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Терариум](./3-terrarium/solution/README.md) | HTML на практика | Създайте HTML за онлайн терариум, фокусирайки се върху изграждането на оформление | [Въведение в HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Терариум](./3-terrarium/solution/README.md) | CSS на практика | Създайте CSS за стилизиране на онлайн терариума, като се фокусирате върху основите на CSS, включително правене на страницата адаптивна | [Въведение в CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Терариум](./3-terrarium/solution/README.md) | JavaScript Closures, манипулиране на DOM | Създайте JavaScript за да направите терариума да функционира като интерфейс за плъзгане/пускане, с фокус върху closures и манипулиране на DOM | [JavaScript Closures, манипулиране на DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Игра за писане с клавиатура](./4-typing-game/solution/README.md) | Създаване на игра за писане | Научете как да използвате събития от клавиатурата за да управлявате логиката на вашето JavaScript приложение | [Програмиране, базирано на събития](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Разширение за браузър Green](./5-browser-extension/solution/README.md) | Работа с браузъри | Научете как работят браузърите, тяхната история и как да създадете първите елементи на разширение за браузър | [За браузърите](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Разширение за браузър Green](./5-browser-extension/solution/README.md) | Изграждане на форма, извикване на API и съхранение на променливи в локално хранилище | Изградете JavaScript елементи на вашето разширение за браузър за извикване на API, използвайки променливи, съхранени в локалното хранилище | [API, форми и локално хранилище](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Разширение за браузър Green](./5-browser-extension/solution/README.md) | Фонови процеси в браузъра, уеб производителност | Използвайте фонови процеси на браузъра за управление на иконата на разширението; научете за уеб производителността и някои оптимизации за подобряване | [Фонови задачи и производителност](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Космическа игра](./6-space-game/solution/README.md) | По-напреднало разработване на игри с JavaScript | Научете за наследяване чрез класове и композиция и за шаблона Pub/Sub, в подготовка за създаване на игра | [Въведение в напреднало разработване на игри](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Космическа игра](./6-space-game/solution/README.md) | Рисуване в canvas | Разберете Canvas API, който се използва за рисуване на елементи на екрана | [Рисуване в Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Космическа игра](./6-space-game/solution/README.md) | Преместване на елементи по екрана | Открийте как елементите могат да придобият движение, използвайки декартови координати и Canvas API | [Преместване на елементи](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Космическа игра](./6-space-game/solution/README.md) | Откриване на сблъсъци | Направете елементите да се сблъскват и да реагират един на друг чрез натискане на клавиши и осигурете функция за изчакване, за да се гарантира производителността на играта | [Откриване на сблъсъци](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Космическа игра](./6-space-game/solution/README.md) | Водене на резултат | Правете математически изчисления въз основа на състоянието и представянето на играта | [Водене на резултат](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Космическа игра](./6-space-game/solution/README.md) | Край и рестартиране на играта | Научете за завършване и рестартиране на игра, включително изчистване на ресурси и нулиране на стойности на променливи | [Условия за край](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Банкова апликация](./7-bank-project/solution/README.md) | HTML шаблони и маршрути в уеб приложение | Научете как да създадете основата на архитектурата на мултистраничен уебсайт, използвайки маршрутизиране и HTML шаблони | [HTML шаблони и маршрути](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Банкова апликация](./7-bank-project/solution/README.md) | Създаване на форма за вход и регистрация | Научете за създаване на форми и обработка на валидационни рутинни | [Форми](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Банкова апликация](./7-bank-project/solution/README.md) | Методи за получаване и използване на данни | Как данните влизат и излизат от вашето приложение, как да ги извличате, съхранявате и изтривате | [Данни](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Банкова апликация](./7-bank-project/solution/README.md) | Концепции на управление на състоянието | Научете как вашето приложение задържа състояние и как да го управлявате програмно | [Управление на състоянието](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Браузър/VScode Код](../../8-code-editor) | Работа с VScode | Научете как да използвате редактор на код | [Използване на VScode редактор](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Асистенти](./9-chat-project/README.md) | Работа с AI | Научете как да изградите собствен AI асистент | [Проект AI Асистент](./9-chat-project/README.md) | Chris |
| | Име на проекта | Обучавани концепции | Учебни цели | Свързан урок | Автор |
| :-: | :--------------------------------------------------------: | :------------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Започване | Въведение в програмирането и инструментите на професията | Научете основите зад повечето програмни езици и софтуерен инструментариум, който помага на професионалните разработчици | [Въведение в програмените езици и инструменти](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Започване | Основи на GitHub, включително работа в екип | Как да използвате GitHub в своя проект, как да си сътрудничите с други върху кодовата база | [Въведение в GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Започване | Достъпност | Научете основите на достъпността в уеб | [Основи на достъпността](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Основи | Типове данни в JavaScript | Основите на типовете данни в JavaScript | [Типове данни](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Основи | Функции и методи | Научете за функциите и методите за управление на логиката на приложение | [Функции и методи](./2-js-basics/2-functions-methods/README.md) | Jasmine и Christopher |
| 06 | JS Основи | Взимане на решения с JS | Научете как да създавате условия във вашия код чрез методи за вземане на решения | [Вземане на решения](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Основи | Масиви и цикли | Работете с данни чрез масиви и цикли в JavaScript | [Масиви и цикли](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Терариум](./3-terrarium/solution/README.md) | HTML на практика | Създайте HTML за онлайн терариум, с фокус върху изграждането на оформление | [Въведение в HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Терариум](./3-terrarium/solution/README.md) | CSS на практика | Създайте CSS за стилизиране на онлайн терариума, включително основите на CSS и направата на страница отзивчива | [Въведение в CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Терариум](./3-terrarium/solution/README.md) | Заключвания в JavaScript, манипулиране на DOM | Създайте JavaScript за работа на терариума като интерфейс за влачене и пускане, фокусирайки се върху заключвания и DOM | [Заключвания в JS, манипулация на DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Игра за писане](./4-typing-game/solution/README.md) | Създаване на игра за писане | Научете как да използвате клавишни събития за задвижване на логиката на приложението си на JavaScript | [Програмиране базирано на събития](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Зелен браузър екстензия](./5-browser-extension/solution/README.md) | Работа с браузъри | Научете как работят браузърите, тяхната история и как да изградите първите елементи на екстензия за браузър | [За браузърите](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Зелен браузър екстензия](./5-browser-extension/solution/README.md) | Създаване на формуляр, извикване на API и съхраняване на променливи локално | Създайте JavaScript елементите на браузър екстензията си за извикване на API чрез променливи, съхранявани локално | [API, формуляри и локално съхранение](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Зелен браузър екстензия](./5-browser-extension/solution/README.md) | Фонови процеси в браузъра, уеб производителност | Използвайте фоновите процеси на браузъра за управление на иконата на екстензията; научете за уеб производителността и оптимизации | [Фонови задачи и производителност](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Космическа игра](./6-space-game/solution/README.md) | По-напреднало разработване на игри с JavaScript | Научете за наследяването чрез класове и композиция, както и за патерна Pub/Sub, подготвяйки се за изграждане на игра | [Въведение в напреднало разработване на игри](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Космическа игра](./6-space-game/solution/README.md) | Рисуване в canvas | Научете за Canvas API, използван за рисуване на елементи на екрана | [Рисуване в Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Космическа игра](./6-space-game/solution/README.md) | Преместване на елементи по екрана | Открийте как елементите придобиват движение чрез декартови координати и Canvas API | [Преместване на елементи](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Космическа игра](./6-space-game/solution/README.md) | Откриване на сблъсъци | Направете елементите да се сблъскват и реагират на натискане на клавиши и добавете функция за охлаждане, за да подобрите изпълнението | [Откриване на сблъсъци](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Космическа игра](./6-space-game/solution/README.md) | Водене на резултата | Извършете математически изчисления въз основа на състоянието и представянето на играта | [Водене на резултата](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Космическа игра](./6-space-game/solution/README.md) | Край и рестартиране на играта | Научете как да приключите и рестартирате играта, включително почистване на ресурси и нулиране на променливите | [Условия за край](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Банкова Апликация](./7-bank-project/solution/README.md) | HTML шаблони и маршрути в уеб приложение | Научете как да създадете структурата на многостраничен уебсайт с използване на маршрутизация и HTML шаблони | [HTML шаблони и маршрути](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Банкова Апликация](./7-bank-project/solution/README.md) | Създаване на формуляр за вход и регистрация | Научете как се изграждат формуляри и как да се обработва валидирането | [Формуляри](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Банкова Апликация](./7-bank-project/solution/README.md) | Методи за извличане и използване на данни | Как данните влизат и излизат от вашето приложение, как да ги извличате, съхранявате и изхвърляте | [Данни](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Банкова Апликация](./7-bank-project/solution/README.md) | Концепции за управление на състоянието | Научете как приложението ви запазва състояние и как да го управлявате програмно | [Управление на състоянието](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Работа с VScode | Научете как да използвате кодов редактор | [Използване на VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Асистенти](./9-chat-project/README.md) | Работа с AI | Научете как да изградите свой собствен AI помощник | [Проект AI Assistant](./9-chat-project/README.md) | Chris |
## 🏫 Педагогика
Нашата учебна програма е създадена с два ключови педагогически принципа:
* учене чрез проекти
* чести тестове
Учебната ни програма е създадена въз основа на две ключови педагогически принципа:
* обучение чрез проекти
* честни викторини
Програмата преподава основите на JavaScript, HTML и CSS, както и последните инструменти и техники, използвани от днешните уеб разработчици. Студентите ще имат възможност да придобият практически опит, като създават игра за писане, виртуален терариум, екологично чисто разширение за браузър, игра в стил космически нашественик и банково приложение за бизнес. До края на серията студентите ще имат солидни познания по уеб разработка.
Програмата учи основите на JavaScript, HTML и CSS, както и най-новите инструменти и техники, използвани от съвременните уеб разработчици. Студентите ще имат възможност да придобият практически опит, като изградят игра за писане, виртуален терариум, екологично чисто разширение за браузър, игра в стил космически нашественик и банково приложение за бизнес. Към края на серията студентите ще имат солидно разбиране за уеб разработка.
> 🎓 Можете да вземете първите няколко урока в тази учебна програма като [Учебен Път](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) в Microsoft Learn!
> 🎓 Можете да преминете първите няколко урока от тази учебна програма като [Учебен път](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) в Microsoft Learn!
С осигуряването на съответствие на съдържанието с проекти, процесът става по-ангажиращ за студентите и задържането на концепциите ще се увеличи. Ние също написахме няколко начални урока по основите на JavaScript, за да въведем концепциите, съчетани с видео от колекцията на видео уроци "[Серия за начинаещи: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", чиито някои автори допринесоха за тази учебна програма.
Чрез осигуряване на съответствие между съдържанието и проектите, процесът става по-ангажиращ за студентите и задържането на знания се увеличава. Ние също така написахме няколко начални урока за основи на JavaScript, за да въведем концепциите, съчетани с видео от колекцията видео уроци "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", чиито някои автори са допринесли за тази учебна програма.
Освен това, ниско-рисков тест преди урока установява нагласата на студента към изучаване на тема, а втори тест след урока осигурява допълнително задържане. Тази учебна програма е проектирана да бъде гъвкава и забавна и може да се приема изцяло или частично. Проектите започват малки и стават все по-сложни към края на 12-седмичния цикъл.
Освен това, викторина с нисък залог преди клас поставя намерението на студента да научи темата, докато втора викторина след урока гарантира допълнително задържане. Тази учебна програма бе създадена да бъде гъвкава и забавна и може да бъде взета изцяло или частично. Проектите започват малки и стават все по-сложни до края на 12-седмичния цикъл.
Докато умишлено избягвахме въвеждането на JavaScript фреймворци, за да се концентрираме върху основните умения, необходими на уеб разработчик преди приемане на фреймворк, добра следваща стъпка за завършване на тази учебна програма е да научите за Node.js чрез друга колекция видеа: "[Серия за начинаещи: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Докато съзнателно избягвахме въвеждането на JavaScript рамки, за да се съсредоточим върху основните умения, необходими на уеб разработчик преди да усвои рамка, добър следващ ход след завършване на тази учебна програма би бил да научите Node.js чрез друга колекция видео уроци: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Посетете нашите насоки [Кодекс на поведение](CODE_OF_CONDUCT.md) и [Принос](CONTRIBUTING.md). Очакваме с нетърпение вашата конструктивна обратна връзка!
> Посетете нашите насоки [Правила за поведение](CODE_OF_CONDUCT.md) и [Принос](CONTRIBUTING.md). Очакваме с нетърпение вашата конструктивна обратна връзка!
## 🧭 Достъп офлайн
## 🧭 Работа офлайн
Можете да използвате тази документация офлайн с помощта на [Docsify](https://docsify.js.org/#/). Форкнете това хранилище, [инсталирайте Docsify](https://docsify.js.org/#/quickstart) на локалната си машина и след това в главната папка на това хранилище изпишете `docsify serve`. Уебсайтът ще бъде достъпен на порт 3000 на вашия localhost: `localhost:3000`.
Можете да използвате тази документация офлайн чрез [Docsify](https://docsify.js.org/#/). Клонирайте репото, [инсталирайте Docsify](https://docsify.js.org/#/quickstart) на своя локален компютър и след това в основната папка на това репо напишете `docsify serve`. Уебсайтът ще бъде достъпен на порт 3000 на вашия localhost: `localhost:3000`.
## 📘 PDF
PDF на всички уроци може да бъде намерен [тук](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
PDF с всички уроци може да се намери [тук](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Други курсове
Нашият екип произвежда и други курсове! Разгледайте:
Нашият екип създава и други курсове! Разгледайте:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j за начинаещи](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js за начинаещи](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain за начинаещи](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Агенти
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AZD за начинаещи](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI за начинаещи](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP за начинаещи](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI агенти за начинаещи](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Серия за Генеративен AI
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Серия за генеративен изкуствен интелект
[![Генеративен ИИ за начинаещи](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Генеративен ИИ (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Генеративен ИИ (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Генеративен ИИ (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Основно обучение
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Машинно обучение за начинаещи](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Наука за данни за начинаещи](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![Изкуствен интелект за начинаещи](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Киберсигурност за начинаещи](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Уеб разработка за начинаещи](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT за начинаещи](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR разработка за начинаещи](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Серия Copilot
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot за програмиране с помощ на ИИ](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot за C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Получаване на помощ
Ако заседнете или имате въпроси относно разработването на AI приложения, присъединете се към други обучаващи се и опитни разработчици в дискусии за MCP. Това е подкрепяща общност, където въпросите са добре дошли и знанието се споделя свободно.
Ако се затрудните или имате въпроси относно създаването на AI приложения. Присъединете се към другите учащи и опитни разработчици в дискусиите за MCP. Това е подкрепяща общност, където въпросите са добре дошли и знанието се споделя свободно.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Ако имате обратна връзка за продукта или грешки по време на разработка посетете:
Ако имате обратна връзка за продукта или срещнете грешки по време на разработка, посетете:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Лиценз
Този хранилище е лицензирано под лиценза MIT. Вижте файла [LICENSE](../../LICENSE) за повече информация.
Това хранилище е лицензирано под MIT лиценз. Вижте файла [LICENSE](../../LICENSE) за повече информация.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от отговорност**:
Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
**Отказ от отговорност**:
Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия първичен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за каквито и да било недоразумения или неправилни тълкувания, произтичащи от използването на този превод.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -0,0 +1,53 @@
# Пътна карта за хранилището Web-Dev-For-Beginners на Microsoft
**Това хранилище предоставя пътна карта за изучаване на основите на уеб разработката с фокус върху JavaScript, HTML и CSS. Учебната програма е гъвкава и може да се вземе изцяло или частично, като включва 24 урока разпределени в рамките на 12 седмици.**
## Основни етапи
* **Седмици 1-3:**
* Въведение в програмните езици и инструментите на занаята
* Основи на GitHub
* Достъпност
* Основи на JS: типове данни, функции и методи
* Вземане на решения с JS
* **Седмици 4-6:**
* Масиви и цикли
* Терариум: HTML на практика
* CSS на практика
* Затваряния в JavaScript
* Манипулиране на DOM
* **Седмици 7-9:**
* Игра за писане: Програмиране, базирано на събития
* Зелен браузър разширение: Работа с браузъри
* Създаване на форма, извикване на API и съхранение на променливи в local storage
* Фонови процеси в браузъра
* Уеб производителност
* **Седмици 10-12:**
* Космическа игра: По-напреднало разработване на игри с JavaScript
* Рисуване върху canvas
* Преместване на елементи на екрана
* Откриване на сблъсъци
* Записване на резултата, приключване и рестартиране на играта
* Банково приложение: HTML шаблони и маршрути в уеб приложение
* Създаване на форма за вход и регистрация
* Методи за извличане и използване на данни
* Концепции за управление на състоянието
## Образователни резултати
**Чрез завършване на тази пътна карта, студентите ще придобият практически опит в изграждането на игра за писане, виртуален терариум, екологично разширение за браузър, игра в стил космически нашественици и банково приложение за бизнеси. Те също така ще развият солидно разбиране на основите на уеб разработката.**
## Допълнителни ресурси
* Това хранилище предоставя богат набор от ресурси за допълнително обучение, включително уроци, примери с код и предизвикателства.
* Платформата Microsoft Learn предлага различни курсове и пътеки за учене в областта на уеб разработката.
* Онлайн общности като Stack Overflow и MDN Web Docs предоставят ценна подкрепа и ресурси за уеб разработчици.
**Надявам се тази пътна карта да ви помогне по пътя ви в уеб разработката!**
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Отказ от отговорност**:
Този документ е преведен с помощта на AI преводаческа услуга [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизирани преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или погрешни тълкувания, произтичащи от използването на този превод.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:39:09+00:00",
"translation_date": "2026-02-06T18:31:13+00:00",
"source_file": "AGENTS.md",
"language_code": "ro"
},
@ -516,11 +516,17 @@
"language_code": "ro"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T19:06:41+00:00",
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T18:23:04+00:00",
"source_file": "README.md",
"language_code": "ro"
},
"Roadmap.md": {
"original_hash": "28bf6185fd7f27b62ddc210514366192",
"translation_date": "2026-02-06T18:29:36+00:00",
"source_file": "Roadmap.md",
"language_code": "ro"
},
"SECURITY.md": {
"original_hash": "4ecc3bf2e27983d4c780be6f26ee6228",
"translation_date": "2025-08-28T07:29:16+00:00",

@ -1,152 +1,152 @@
# AGENTS.md
## Prezentare Generală a Proiectului
## Prezentare generală a proiectului
Acesta este un depozit de curriculum educațional destinat predării fundamentelor dezvoltării web pentru începători. Curriculumul este un curs cuprinzător de 12 săptămâni dezvoltat de Microsoft Cloud Advocates, care include 24 de lecții practice ce acoperă JavaScript, CSS și HTML.
Acesta este un depozit educațional pentru predarea fundamentelor dezvoltării web începătorilor. Curriculumul este un curs cuprinzător de 12 săptămâni dezvoltat de Microsoft Cloud Advocates, cuprinzând 24 de lecții practice despre JavaScript, CSS și HTML.
### Componente Cheie
### Componente cheie
- **Conținut Educațional**: 24 de lecții structurate organizate în module bazate pe proiecte
- **Proiecte Practice**: Terrarium, Joc de Tastare, Extensie de Browser, Joc Spațial, Aplicație Bancară, Editor de Cod și Asistent AI de Chat
- **Teste Interactive**: 48 de teste cu câte 3 întrebări fiecare (evaluări pre/post-lecție)
- **Suport Multilingv**: Traduceri automate pentru peste 50 de limbi prin GitHub Actions
- **Tehnologii**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (pentru proiectele AI)
- **Conținut educațional**: 24 de lecții structurate organizate în module bazate pe proiecte
- **Proiecte practice**: Terrarium, Joc de tastare, Extensie de browser, Joc spațial, Aplicație bancară, Editor de cod și Asistent AI pentru chat
- **Teste interactive**: 48 de teste cu câte 3 întrebări fiecare (evaluări pre/post-lesson)
- **Suport multilingv**: Traduceri automate în peste 50 de limbi prin GitHub Actions
- **Tehnologii**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (pentru proiecte AI)
### Arhitectură
- Depozit educațional cu structură bazată pe lecții
- Fiecare folder de lecție conține README, exemple de cod și soluții
- Proiecte independente în directoare separate (quiz-app, diverse proiecte de lecții)
- Sistem de traducere utilizând GitHub Actions (co-op-translator)
- Documentație servită prin Docsify și disponibilă ca PDF
- Proiecte autonome în directoare separate (quiz-app, diverse proiecte de lecții)
- Sistem de traducere folosind GitHub Actions (co-op-translator)
- Documentația este servită prin Docsify și disponibilă ca PDF
## Comenzi de Configurare
## Comenzi de configurare
Acest depozit este destinat în principal consumului de conținut educațional. Pentru lucrul cu proiecte specifice:
Acest depozit este destinat în principal consumului de conținut educațional. Pentru lucru cu proiecte specifice:
### Configurarea Depozitului Principal
### Configurare principală a depozitului
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Configurarea Aplicației de Teste (Vue 3 + Vite)
### Configurare Quiz App (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run dev # Pornește serverul de dezvoltare
npm run build # Construiește pentru producție
npm run lint # Rulează ESLint
```
### API-ul Proiectului Bancar (Node.js + Express)
### API pentru proiectul bancar (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Start API server
npm run lint # Run ESLint
npm run format # Format with Prettier
npm start # Pornește serverul API
npm run lint # Rulează ESLint
npm run format # Formatează cu Prettier
```
### Proiecte de Extensii de Browser
### Proiecte extensii de browser
```bash
cd 5-browser-extension/solution
npm install
# Follow browser-specific extension loading instructions
# Urmați instrucțiunile specifice browserului pentru încărcarea extensiilor
```
### Proiecte Joc Spațial
### Proiecte joc spațial
```bash
cd 6-space-game/solution
npm install
# Open index.html in browser or use Live Server
# Deschide index.html în browser sau folosește Live Server
```
### Proiect Chat (Backend Python)
### Proiect chat (backend Python)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Set GITHUB_TOKEN environment variable
# Setează variabila de mediu GITHUB_TOKEN
python api.py
```
## Flux de Lucru în Dezvoltare
## Flux de dezvoltare
### Pentru Contribuitorii de Conținut
### Pentru contribuitorii de conținut
1. **Fork-uiți depozitul** în contul dvs. GitHub
2. **Clonați fork-ul** local
3. **Creați o ramură nouă** pentru modificările dvs.
4. Faceți modificări la conținutul lecțiilor sau exemplele de cod
5. Testați modificările de cod în directoarele relevante ale proiectelor
6. Trimiteți pull request-uri conform ghidurilor de contribuție
1. **Fă fork al depozitului** în contul tău GitHub
2. **Clonează fork-ul** local
3. **Crează un branch nou** pentru modificările tale
4. Modifică conținutul lecțiilor sau exemplele de cod
5. Testează orice modificare de cod în directoarele proiectelor relevante
6. Trimite pull requests conform ghidurilor de contribuție
### Pentru Cursanți
### Pentru cursanți
1. Fork-uiți sau clonați depozitul
2. Navigați prin directoarele lecțiilor în ordine
3. Citiți fișierele README pentru fiecare lecție
4. Completați testele pre-lecție la https://ff-quizzes.netlify.app/web/
5. Lucrați prin exemplele de cod din folderele lecțiilor
6. Finalizați temele și provocările
7. Completați testele post-lecție
1. Fă fork sau clonează depozitul
2. Navighează în ordine prin directoarele lecțiilor
3. Citește fișierele README pentru fiecare lecție
4. Completează testele pre-lesson la https://ff-quizzes.netlify.app/web/
5. Lucrează prin exemplele de cod din folderele lecțiilor
6. Finalizează temele și provocările
7. Susține testele post-lesson
### Dezvoltare Live
### Dezvoltare live
- **Documentație**: Rulați `docsify serve` în root (port 3000)
- **Aplicație de Teste**: Rulați `npm run dev` în directorul quiz-app
- **Proiecte**: Utilizați extensia Live Server din VS Code pentru proiectele HTML
- **Proiecte API**: Rulați `npm start` în directoarele API respective
- **Documentație**: Rulează `docsify serve` din directorul rădăcină (port 3000)
- **Quiz App**: Rulează `npm run dev` în directorul quiz-app
- **Proiecte**: Folosește extensia VS Code Live Server pentru proiectele HTML
- **Proiecte API**: Rulează `npm start` în directoarele API respective
## Instrucțiuni de Testare
## Instrucțiuni de testare
### Testarea Aplicației de Teste
### Testare Quiz App
```bash
cd quiz-app
npm run lint # Check for code style issues
npm run build # Verify build succeeds
npm run lint # Verifică problemele de stil ale codului
npm run build # Verifică dacă compilarea reușește
```
### Testarea API-ului Bancar
### Testare API Bancar
```bash
cd 7-bank-project/api
npm run lint # Check for code style issues
node server.js # Verify server starts without errors
npm run lint # Verificați problemele legate de stilul codului
node server.js # Verificați dacă serverul pornește fără erori
```
### Abordare Generală de Testare
### Abordare generală de testare
- Acesta este un depozit educațional fără teste automate cuprinzătoare
- Acesta este un depozit educațional fără teste automate complete
- Testarea manuală se concentrează pe:
- Exemplele de cod rulează fără erori
- Linkurile din documentație funcționează corect
- Build-urile proiectelor se finalizează cu succes
- Exemplele respectă cele mai bune practici
- Legăturile din documentație funcționează corect
- Construirea proiectului se finalizează cu succes
- Exemplele respectă bunele practici
### Verificări Pre-trimitere
### Verificări înainte de trimitere
- Rulați `npm run lint` în directoarele cu package.json
- Verificați validitatea linkurilor markdown
- Testați exemplele de cod în browser sau Node.js
- Asigurați-vă că traducerile mențin structura corectă
- Rulează `npm run lint` în directoarele cu package.json
- Verifică dacă linkurile markdown sunt valide
- Testează exemplele de cod în browser sau Node.js
- Verifică dacă traducerile păstrează structura corectă
## Ghiduri de Stil pentru Cod
## Ghid de stil pentru cod
### JavaScript
- Utilizați sintaxa modernă ES6+
- Respectați configurațiile standard ESLint furnizate în proiecte
- Folosiți nume semnificative pentru variabile și funcții pentru claritate educațională
- Adăugați comentarii care explică conceptele pentru cursanți
- Formatați folosind Prettier acolo unde este configurat
- Folosește sintaxa modernă ES6+
- Urmează configurațiile ESLint standard oferite în proiecte
- Folosește nume semnificative de variabile și funcții pentru claritate educațională
- Adaugă comentarii care explică conceptele pentru cursanți
- Formatează folosind Prettier unde este configurat
### HTML/CSS
@ -157,126 +157,126 @@ node server.js # Verify server starts without errors
### Python
- Ghiduri de stil PEP 8
- Exemple de cod clare și educaționale
- Hint-uri de tip acolo unde sunt utile pentru învățare
- Urmează ghidul de stil PEP 8
- Exemple clare, educaționale de cod
- Hint-uri de tip unde sunt utile pentru învățare
### Documentație Markdown
- Ierarhie clară a titlurilor
- Blocuri de cod cu specificația limbajului
- Blocuri de cod cu specificarea limbajului
- Linkuri către resurse suplimentare
- Capturi de ecran și imagini în directoarele `images/`
- Text alternativ pentru imagini pentru accesibilitate
### Organizarea Fișierelor
### Organizarea fișierelor
- Lecțiile numerotate secvențial (1-getting-started-lessons, 2-js-basics, etc.)
- Fiecare proiect are directoare `solution/` și adesea `start/` sau `your-work/`
- Imaginile stocate în folderele `images/` specifice lecțiilor
- Traducerile în structura `translations/{language-code}/`
- Lecții numerotate secvențial (1-getting-started-lessons, 2-js-basics etc.)
- Fiecare proiect are directoare `solution/` și deseori `start/` sau `your-work/`
- Imaginile stocate în foldere specifice lecțiilor `images/`
- Traduceri în structura `translations/{language-code}/`
## Build și Deployment
## Construire și distribuire
### Deployment Aplicație de Teste (Azure Static Web Apps)
### Distribuire Quiz App (Azure Static Web Apps)
Aplicația quiz-app este configurată pentru deployment pe Azure Static Web Apps:
quiz-app este configurat pentru distribuire pe Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Creates dist/ folder
# Deploys via GitHub Actions workflow on push to main
npm run build # Creează folderul dist/
# Depune prin workflow-ul GitHub Actions la push în main
```
Configurație Azure Static Web Apps:
- **Locația aplicației**: `/quiz-app`
- **Locația output-ului**: `dist`
- **Locație aplicație**: `/quiz-app`
- **Locație output**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Generarea Documentației PDF
### Generare PDF pentru documentație
```bash
npm install # Install docsify-to-pdf
npm run convert # Generate PDF from docs
npm install # Instalare docsify-to-pdf
npm run convert # Generează PDF din docs
```
### Documentație Docsify
```bash
npm install -g docsify-cli # Install Docsify globally
docsify serve # Serve on localhost:3000
npm install -g docsify-cli # Instalează Docsify global
docsify serve # Servește pe localhost:3000
```
### Build-uri Specifice Proiectelor
### Build-uri specifice proiectelor
Fiecare director de proiect poate avea propriul proces de build:
- Proiecte Vue: `npm run build` creează bundle-uri de producție
- Proiecte statice: Fără pas de build, serve fișierele direct
- Proiecte Vue: `npm run build` creează pachete pentru producție
- Proiecte statice: Fără pas de build, se servesc fișierele direct
## Ghiduri pentru Pull Request-uri
## Ghid pentru Pull Request-uri
### Formatul Titlului
### Format titlu
Utilizați titluri clare și descriptive care indică zona de modificare:
- `[Quiz-app] Adăugare test nou pentru lecția X`
- `[Lesson-3] Corectare typo în proiectul terrarium`
- `[Translation] Adăugare traducere în spaniolă pentru lecția 5`
- `[Docs] Actualizare instrucțiuni de configurare`
Folosește titluri clare, descriptive care indică aria de modificare:
- `[Quiz-app] Adaugă noul quiz pentru lecția X`
- `[Lesson-3] Corectează typo în proiectul terrarium`
- `[Translation] Adaugă traducere în spaniolă pentru lecția 5`
- `[Docs] Actualizează instrucțiunile de configurare`
### Verificări Necesare
### Verificări necesare
Înainte de a trimite un PR:
1. **Calitatea Codului**:
- Rulați `npm run lint` în directoarele proiectelor afectate
- Remediați toate erorile și avertismentele de linting
1. **Calitatea codului**:
- Rulează `npm run lint` în directoarele proiectelor afectate
- Corectează toate erorile și avertismentele
2. **Verificarea Build-ului**:
- Rulați `npm run build` dacă este aplicabil
- Asigurați-vă că nu există erori de build
2. **Verificare build**:
- Rulează `npm run build` dacă este cazul
- Asigură-te că nu există erori la build
3. **Validarea Linkurilor**:
- Testați toate linkurile markdown
- Verificați că referințele imaginilor funcționează
3. **Validare linkuri**:
- Testează toate linkurile markdown
- Verifică dacă referințele la imagini funcționează
4. **Revizuirea Conținutului**:
- Corectați greșelile de ortografie și gramatică
- Asigurați-vă că exemplele de cod sunt corecte și educaționale
- Verificați că traducerile mențin sensul original
4. **Revizuirea conținutului**:
- Corectează gramatica și ortografia
- Asigură-te că exemplele de cod sunt corecte și educaționale
- Verifică dacă traducerile păstrează sensul original
### Cerințe de Contribuție
### Cerințe pentru contribuție
- Acceptați Microsoft CLA (verificare automată la primul PR)
- Respectați [Codul de Conduită Open Source Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Consultați [CONTRIBUTING.md](./CONTRIBUTING.md) pentru ghiduri detaliate
- Referiți numerele de probleme în descrierea PR-ului, dacă este aplicabil
- Acceptă Microsoft CLA (verificare automată la primul PR)
- Urmează [Codul de conduită pentru surse deschise Microsoft](https://opensource.microsoft.com/codeofconduct/)
- Vezi [CONTRIBUTING.md](./CONTRIBUTING.md) pentru ghiduri detaliate
- Referințe numerele issue-urilor în descrierea PR-ului dacă este cazul
### Procesul de Revizuire
### Proces de revizuire
- PR-urile sunt revizuite de mentori și comunitate
- Claritatea educațională este prioritară
- Exemplele de cod trebuie să respecte cele mai bune practici actuale
- Exemplele de cod trebuie să urmeze cele mai bune practici actuale
- Traducerile sunt revizuite pentru acuratețe și adecvare culturală
## Sistem de Traducere
## Sistem de traducere
### Traducere Automată
### Traducere automată
- Utilizează GitHub Actions cu workflow-ul co-op-translator
- Folosește GitHub Actions cu workflow-ul co-op-translator
- Traduce automat în peste 50 de limbi
- Fișierele sursă în directoarele principale
- Fișierele traduse în directoarele `translations/{language-code}/`
- Fișierele sursă sunt în directoarele principale
- Fișierele traduse sunt în directoarele `translations/{language-code}/`
### Adăugarea Îmbunătățirilor Manuale la Traduceri
### Adăugarea îmbunătățirilor manuale de traducere
1. Localizați fișierul în `translations/{language-code}/`
2. Faceți îmbunătățiri păstrând structura
3. Asigurați-vă că exemplele de cod rămân funcționale
4. Testați orice conținut localizat de teste
1. Localizează fișierul în `translations/{language-code}/`
2. Fă îmbunătățiri păstrând structura
3. Asigură-te că exemplele de cod rămân funcționale
4. Testează orice conținut localizat pentru quiz
### Metadata Traduceri
### Metadata traducere
Fișierele traduse includ un header de metadata:
Fișierele traduse includ antet cu metadata:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -289,118 +289,120 @@ CO_OP_TRANSLATOR_METADATA:
-->
```
## Debugging și Rezolvarea Problemelor
## Depanare și rezolvare probleme
### Probleme Comune
### Probleme comune
**Aplicația de teste nu pornește**:
- Verificați versiunea Node.js (recomandat v14+)
- Ștergeți `node_modules` și `package-lock.json`, rulați din nou `npm install`
- Verificați conflictele de port (implicit: Vite folosește portul 5173)
**Quiz app nu pornește**:
- Verifică versiunea Node.js (recomandat v14+)
- Șterge `node_modules` și `package-lock.json`, rulează din nou `npm install`
- Verifică dacă există conflicte de port (implicit: Vite folosește port 5173)
**Serverul API nu pornește**:
- Verificați că versiunea Node.js îndeplinește minimul (node >=10)
- Verificați dacă portul este deja utilizat
- Asigurați-vă că toate dependențele sunt instalate cu `npm install`
- Verifică dacă versiunea Node.js este minimă (node >=10)
- Verifică dacă portul este deja ocupat
- Asigură-te că toate dependențele sunt instalate cu `npm install`
**Extensia de browser nu se încarcă**:
- Verificați că manifest.json este formatat corect
- Verificați consola browserului pentru erori
- Urmați instrucțiunile specifice browserului pentru instalarea extensiei
**Extensia browser nu se încarcă**:
- Verifică dacă manifest.json este corect formatat
- Verifică consola browserului pentru erori
- Urmează instrucțiunile specifice browserului pentru instalarea extensiei
**Probleme proiect chat Python**:
- Asigurați-vă că pachetul OpenAI este instalat: `pip install openai`
- Verificați că variabila de mediu GITHUB_TOKEN este setată
- Verificați permisiunile de acces la modelele GitHub
- Asigură-te că pachetul OpenAI este instalat: `pip install openai`
- Verifică dacă variabila de mediu GITHUB_TOKEN este setată
- Verifică permisiunile de acces la GitHub Models
**Docsify nu servește documentația**:
- Instalați docsify-cli global: `npm install -g docsify-cli`
- Rulați din directorul root al depozitului
- Verificați că `docs/_sidebar.md` există
- Instalează docsify-cli global: `npm install -g docsify-cli`
- Rulează din directorul rădăcină al depozitului
- Verifică dacă există `docs/_sidebar.md`
### Sfaturi pentru Mediul de Dezvoltare
### Sfaturi pentru mediul de dezvoltare
- Utilizați VS Code cu extensia Live Server pentru proiectele HTML
- Instalați extensiile ESLint și Prettier pentru formatare consistentă
- Utilizați DevTools-ul browserului pentru debugging JavaScript
- Pentru proiectele Vue, instalați extensia Vue DevTools pentru browser
- Folosește VS Code cu extensia Live Server pentru proiecte HTML
- Instalează extensiile ESLint și Prettier pentru formatări consecvente
- Folosește DevTools din browser pentru depanare JavaScript
- Pentru proiecte Vue, instalează extensia Vue DevTools pentru browser
### Considerații de Performanță
### Considerații de performanță
- Numărul mare de fișiere traduse (peste 50 de limbi) înseamnă că clonele complete sunt mari
- Utilizați clonarea superficială dacă lucrați doar pe conținut: `git clone --depth 1`
- Excludeți traducerile din căutări când lucrați pe conținutul în engleză
- Procesele de build pot fi lente la prima rulare (npm install, Vite build)
- Numărul mare de fișiere traduse (50+ limbi) înseamnă clone complete mari
- Folosește clone superficial dacă lucrezi doar pe conținut: `git clone --depth 1`
- Exclude traducerile din căutări când lucrezi pe conținut în engleză
- Procesele de build pot fi lente la prima rulare (npm install, build Vite)
## Considerații de Securitate
## Considerații de securitate
### Variabile de Mediu
### Variabile de mediu
- Cheile API nu trebuie niciodată comise în depozit
- Utilizați fișiere `.env` (deja în `.gitignore`)
- Documentați variabilele de mediu necesare în README-urile proiectelor
- Folosește fișiere `.env` (inclus deja în `.gitignore`)
- Documentează variabilele de mediu necesare în README-urile proiectelor
### Proiecte Python
- Utilizați medii virtuale: `python -m venv venv`
- Mențineți dependențele actualizate
- Token-urile GitHub ar trebui să aibă permisiuni minime necesare
- Folosește medii virtuale: `python -m venv venv`
- Păstrează dependențele actualizate
- Token-urile GitHub trebuie să aibă permisiuni minime necesare
### Acces la Modelele GitHub
### Acces GitHub Models
- Token-uri de Acces Personal (PAT) necesare pentru Modelele GitHub
- Token-urile ar trebui stocate ca variabile de mediu
- Nu comiteți niciodată token-uri sau credențiale
- Sunt necesare Personal Access Tokens (PAT) pentru GitHub Models
- Token-urile trebuie stocate ca variabile de mediu
- Nu comite niciodată token-uri sau credențiale
## Note Suplimentare
## Note suplimentare
### Public Țintă
### Public țintă
- Începători complet în dezvoltarea web
- Începători compleți în dezvoltarea web
- Studenți și autodidacți
- Profesori care utilizează curriculumul în săli de clasă
- Conținutul este conceput pentru accesibilitate și dezvoltarea graduală a abilităților
- Profesori care folosesc curriculumul în săli de clasă
- Conținut pentru accesibilitate și dezvoltarea graduală a abilităților
### Filosofia Educațională
### Filosofie educațională
- Abordare bazată pe proiecte
- Abordare bazată pe învățare prin proiecte
- Verificări frecvente ale cunoștințelor (teste)
- Exerciții practice de codare
- Exemple de aplicații din lumea reală
- Accent pe fundamente înainte de framework-uri
- Accent pe baze înainte de framework-uri
### Întreținerea Depozitului
### Mentenanță depozit
- Comunitate activă de cursanți și contribuitori
- Actualizări regulate ale dependențelor și conținutului
- Probleme și discuții monitorizate de mentori
- Actualizări ale traducerilor automatizate prin GitHub Actions
- Actualizări automate ale traducerilor prin GitHub Actions
### Resurse Asemănătoare
### Resurse conexe
- [Module Microsoft Learn](https://docs.microsoft.com/learn/)
- [Resurse Student Hub](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) recomandat pentru cursanți
- Cursuri suplimentare: Generative AI, Data Science, ML, IoT disponibile
- Cursuri adiționale: AI generativă, Data Science, ML, IoT
### Lucrul cu Proiecte Specifice
### Lucrul cu proiecte specifice
Pentru instrucțiuni detaliate despre proiectele individuale, consultați fișierele README din:
- `quiz-app/README.md` - Aplicație de teste Vue 3
- `7-bank-project/README.md` - Aplicație bancară cu autentificare
- `5-browser-extension/README.md` - Dezvoltarea extensiilor de browser
- `6-space-game/README.md` - Dezvoltarea jocurilor bazate pe Canvas
- `9-chat-project/README.md` - Proiect asistent AI de chat
Pentru instrucțiuni detaliate privind proiectele individuale, consultă fișierele README din:
- `quiz-app/README.md` - aplicație de quiz Vue 3
- `7-bank-project/README.md` - aplicație bancară cu autentificare
- `5-browser-extension/README.md` - dezvoltare extensii browser
- `6-space-game/README.md` - dezvoltare joc pe canvas
- `9-chat-project/README.md` - proiect asistent AI chat
### Structura Monorepo
### Structura monorepo
Deși nu este un monorepo tradițional, acest depozit conține mai multe proiecte independente:
- Fiecare lecție este autonomă
- Proiectele nu împărtășesc dependențe
- Lucrați la proiecte individuale fără a afecta altele
- Clonați întregul depozit pentru experiența completă a curriculumului
- Proiectele nu împart dependențe
- Lucrează pe proiecte individuale fără a afecta altele
- Clonează întregul depozit pentru experiența completă a curriculumului
---
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să asigurăm acuratețea, vă rugăm să fiți conștienți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa maternă trebuie considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere automată AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim să oferim o traducere corectă, vă rugăm să aveți în vedere că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm răspunderea pentru eventualele neînțelegeri sau interpretări greșite ce pot rezulta din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -2,7 +2,7 @@
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/Web-Dev-For-Beginners.svg)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Watch&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-Beginners.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/network/)
@ -12,52 +12,52 @@
# Dezvoltare Web pentru Începători - Un Curriculum
Învățați elementele de bază ale dezvoltării web cu cursul nostru cuprinzător de 12 săptămâni realizat de Microsoft Cloud Advocates. Fiecare dintre cele 24 de lecții explorează JavaScript, CSS și HTML prin proiecte practice, cum ar fi terarii, extensii pentru navigatoare și jocuri spațiale. Implicați-vă cu chestionare, discuții și teme practice. Îmbunătățiți-vă abilitățile și optimizați reținerea cunoștințelor cu pedagogia noastră eficientă bazată pe proiecte. Începeți-vă călătoria în programare astăzi!
Învață elementele fundamentale ale dezvoltării web cu cursul nostru cuprinzător de 12 săptămâni realizat de Microsoft Cloud Advocates. Fiecare dintre cele 24 de lecții explorează JavaScript, CSS și HTML prin proiecte practice precum terarii, extensii pentru browser și jocuri spațiale. Participă la chestionare, discuții și teme practice. Îmbunătățește-ți competențele și optimizează retenția cunoștințelor cu pedagogia noastră eficientă bazată pe proiecte. Începe-ți călătoria în programare astăzi!
Alăturați-vă Comunității Discord Azure AI Foundry
Alătură-te Comunității Azure AI Foundry pe Discord
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Urmați acești pași pentru a începe să utilizați aceste resurse:
1. **Fork-uiți Repositorul**: Faceți clic pe [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clonați Repositorul**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Alăturați-vă Azure AI Foundry Discord și întâlniți experți și alți dezvoltatori**](https://discord.com/invite/ByRwuEEgH4)
Urmează acești pași pentru a începe să folosești aceste resurse:
1. **Fork-uiește Repositorul**: Click pe [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Clonează Repositorul**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Alătură-te Azure AI Foundry Discord și întâlnește experți și alți dezvoltatori**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Suport Multilingv
### 🌐 Suport Multi-Limbaj
#### Suportat prin GitHub Action (Automatizat & Întotdeauna Actualizat)
#### Suportat prin GitHub Action (Automatizat și Întotdeauna Actualizat)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](../zh-MO/README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](./README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **Preferi să clonezi local?**
> **Preferi să Clonezi Local?**
> Acest depozit include peste 50 de traduceri în limbi care măresc semnificativ dimensiunea de descărcare. Pentru a clona fără traduceri, folosește sparse checkout:
> Acest repository include traduceri în peste 50 de limbi, ceea ce crește semnificativ dimensiunea descărcării. Pentru a clona fără traduceri, folosește sparse checkout:
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Aceasta îți oferă tot ce ai nevoie pentru a finaliza cursul cu o descărcare mult mai rapidă.
> Acesta îți oferă tot ce ai nevoie pentru a finaliza cursul cu o descărcare mult mai rapidă.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Dacă doriți să fie suportate și alte limbi de traducere, acestea sunt listate [aici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
**Dacă dorești să fie susținute limbi suplimentare de traducere, acestea sunt listate [aici](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
#### 🧑‍🎓 _Ești student?_
Vizitează [**pagina Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) unde vei găsi resurse pentru începători, pachete pentru studenți și chiar modalități de a obține un voucher pentru certificare gratuită. Aceasta este pagina pe care vrei să o adaugi la favorite și s-o verifici din când în când deoarece conținutul se schimbă lunar.
Vizitează [**pagina Student Hub**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) unde vei găsi resurse pentru începători, pachete pentru studenți și chiar metode de a obține un voucher gratuit pentru certificat. Aceasta este pagina pe care vrei să o adaugi la favorite și să o verifici din când în când deoarece conținutul este schimbat lunar.
### 📣 Anunț - Noi provocări GitHub Copilot Agent mode de finalizat!
### 📣 Anunț - Noi provocări GitHub Copilot Agent mode de completat!
Nouă provocare adăugată, caută "GitHub Copilot Agent Challenge 🚀" în majoritatea capitolelor. Este o provocare nouă pentru tine de finalizat folosind GitHub Copilot și modul Agent. Dacă nu ai folosit până acum modul Agent, acesta este capabil nu doar să genereze text, ci și să creeze și să editeze fișiere, să ruleze comenzi și multe altele.
Provocare nouă adăugată, caută "GitHub Copilot Agent Challenge 🚀" în majoritatea capitolelor. Aceasta este o nouă provocare pentru tine de completat folosind GitHub Copilot și modul Agent. Dacă nu ai folosit modul Agent înainte, acesta poate nu doar să genereze text, ci și să creeze și editeze fișiere, să ruleze comenzi și multe altele.
### 📣 Anunț - _Proiect nou de construit folosind Generative AI_
### 📣 Anunț - _Proiect nou de construit folosind Generative AI_
Proiect nou de asistent AI adăugat recent, verifică proiectul [proiect](./9-chat-project/README.md)
Proiect nou cu Asistent AI tocmai adăugat, vezi proiectul [aici](./9-chat-project/README.md)
### 📣 Anunț - _Curriculum nou_ despre Generative AI pentru JavaScript tocmai a fost lansat
### 📣 Anunț - _Curriculum nou_ despre Generative AI pentru JavaScript a fost lansat recent
Nu rata noul nostru curriculum Generative AI!
@ -65,158 +65,158 @@ Vizitează [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) pent
![Background](../../translated_images/ro/background.148a8d43afde5730.webp)
- Lecții acoperind totul de la elementele de bază la RAG.
- Interacționează cu personaje istorice folosind GenAI și aplicația noastră însoțitoare.
- Lecții care acoperă totul de la elementele de bază până la RAG.
- Interacționează cu personaje istorice folosind GenAI și aplicația noastră companion.
- Narațiune distractivă și captivantă, vei călători în timp!
![character](../../translated_images/ro/character.5c0dd8e067ffd693.webp)
Fiecare lecție include o temă de completat, o verificare a cunoștințelor și o provocare pentru a te ghida în învățarea unor subiecte precum:
- Promptinge și ingineria de prompturi
- Generare de aplicații text și imagine
Fiecare lecție include o temă de completat, un test de cunoștințe și o provocare care te ghidează în învățarea subiectelor precum:
- Promptarea și ingineria de prompturi
- Generarea de aplicații text și imagini
- Aplicații de căutare
Vizitează [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course) pentru a începe!
Vizitează [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) pentru a începe!
## 🌱 Începutul
> **Profesori**, am inclus [unele sugestii](for-teachers.md) despre cum să folosiți acest curriculum. Ne-ar plăcea feedback-ul vostru [în forumul nostru de discuții](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Profesori**, am inclus [câteva sugestii](for-teachers.md) despre cum să folosiți acest curriculum. Ne-ar plăcea feedback-ul vostru [în forumul nostru de discuții](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Elevi](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, pentru fiecare lecție, începeți cu un chestionar înainte de prelegere și continuați cu parcurgerea materialului cursului, completarea diverselor activități și verificați-vă înțelegerea cu un chestionar după prelegere.
**[Elevi](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, pentru fiecare lecție, începeți cu un chestionar pre-lectură, continuați cu citirea materialului de curs, efectuarea diverselor activități și verificați-vă înțelegerea cu chestionarul post-lectură.
Pentru a vă îmbunătăți experiența de învățare, conectați-vă cu colegii pentru a lucra împreună la proiecte! Sunt încurajate discuțiile în [forumul nostru de discuții](https://github.com/microsoft/Web-Dev-For-Beginners/discussions), unde echipa noastră de moderatori va fi disponibilă să răspundă la întrebările voastre.
Pentru a vă îmbunătăți experiența de învățare, conectați-vă cu colegii pentru a lucra împreună la proiecte! Sunt încurajate discuțiile în [forumul nostru de discuții](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) unde echipa noastră de moderatori va fi disponibilă să răspundă întrebărilor voastre.
Pentru a vă extinde educația, recomandăm insistent să explorați [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pentru materiale suplimentare de studiu.
Pentru a vă continua educația, vă recomandăm cu căldură să explorați [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) pentru materiale suplimentare de studiu.
### 📋 Configurarea mediului vostru
### 📋 Configurarea mediului u
Acest curriculum are un mediu de dezvoltare gata de utilizat! Pe măsură ce începeți, puteți alege să rulați curriculumul într-un [Codespace](https://github.com/features/codespaces/) (_un mediu bazat pe browser, fără instalări necesare_), sau local pe calculatorul vostru folosind un editor de text precum [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Acest curriculum are un mediu de dezvoltare gata de utilizare! Pe măsură ce începi poți alege să rulezi curriculumul într-un [Codespace](https://github.com/features/codespaces/) (_un mediu bazat pe browser, fără necesitatea instalării_), sau local pe calculatorul tău folosind un editor de text precum [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Creați-vă propriul depozit
Pentru a vă salva ușor munca, se recomandă să vă creați propria copie a acestui depozit. Puteți face asta făcând clic pe butonul **Use this template** din zona de sus a paginii. Aceasta va crea un depozit nou în contul vostru GitHub cu o copie a curriculumului.
#### Creează-ți propriul repository
Pentru a-ți salva ușor munca, se recomandă să îți creezi o copie a acestui repository. Poți face asta apăsând butonul **Use this template** din partea de sus a paginii. Aceasta va crea un repository nou în contul tău GitHub cu o copie a curriculumului.
Urmați acești pași:
1. **Fork-uiți Repositorul**: Faceți clic pe butonul "Fork" din colțul dreapta sus al acestei pagini.
2. **Clonați Repositorul**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
Urmează acești pași:
1. **Fork-uiește Repositorul**: Apasă butonul "Fork" din colțul dreapta sus al acestei pagini.
2. **Clonează Repositorul**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Rularea curriculumului în Codespace
#### Rularea curriculumului într-un Codespace
În copia voastră de acest depozit pe care ați creat-o, dați clic pe butonul **Code** și selectați **Open with Codespaces**. Aceasta va crea un nou Codespace în care să lucrați.
În copia ta de repository pe care ai creat-o, apasă butonul **Code** și selectează **Open with Codespaces**. Aceasta va crea un nou Codespace în care să lucrezi.
![Codespace](../../translated_images/ro/createcodespace.0238bbf4d7a8d955.webp)
#### Rularea curriculumului local pe calculatorul vostru
#### Rularea curriculumului local pe calculatorul u
Pentru a rula acest curriculum local pe calculatorul vostru, veți avea nevoie de un editor de text, un browser și un instrument de linie de comandă. Lecția noastră introductivă, [Introducere în limbajele de programare și uneltele meseriei](../../1-getting-started-lessons/1-intro-to-programming-languages), vă va ghida prin diverse opțiuni pentru fiecare dintre aceste instrumente, pentru a selecta ce vi se potrivește cel mai bine.
Pentru a rula acest curriculum local pe calculatorul tău, vei avea nevoie de un editor de text, un browser și un instrument de linie de comandă. Prima noastră lecție, [Introducere în Limbajele de Programare și Unelte de Bază](../../1-getting-started-lessons/1-intro-to-programming-languages), te va ghida prin diverse opțiuni pentru fiecare dintre aceste instrumente, pentru a-ți putea alege ce funcționează cel mai bine pentru tine.
Recomandarea noastră este să folosi [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ca editor, care are și un [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) integrat. Puteți descărca Visual Studio Code [aici](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Recomandarea noastră este să folosești [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) ca editor, care are și un [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) încorporat. Poți descărca Visual Studio Code de [aici](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Clonați depozitul vostru pe calculator. Puteți face asta făcând clic pe butonul **Code** și copiind URL-ul:
1. Clonează repository-ul pe calculatorul tău. Poți face asta apăsând butonul **Code** și copiind URL-ul:
[CodeSpace](./images/createcodespace.png)
Apoi, deschide [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) în cadrul [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) și execută următoarea comandă, înlocuind `<your-repository-url>` cu URL-ul pe care tocmai l-ai copiat:
Apoi, deschide [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) în cadrul [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) și execută comanda următoare, înlocuind `<your-repository-url>` cu URL-ul pe care tocmai l-ai copiat:
```bash
git clone <your-repository-url>
```
2. Deschide folderul în Visual Studio Code. Poți face acest lucru făcând clic pe **File** > **Open Folder** și selectând folderul pe care tocmai l-ai clonat.
2. Deschide folderul în Visual Studio Code. Poți face acest lucru făcând clic pe **Fișier** > **Deschide folder** și selectând folderul pe care tocmai l-ai clonat.
> Extensii recomandate pentru Visual Studio Code:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - pentru a previzualiza pagini HTML în cadrul Visual Studio Code
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - pentru a previzualiza paginile HTML în Visual Studio Code
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - pentru a te ajuta să scrii cod mai rapid
## 📂 Fiecare lecție include:
- schiță opțională
- videoclip suplimentar opțional
- chestionar de încălzire înainte de lecție
- quiz de încălzire înainte de lecție
- lecție scrisă
- pentru lecțiile bazate pe proiecte, ghiduri pas cu pas despre cum să construiești proiectul
- verificări de cunoștințe
- o provocare
- lectură suplimentară
- lecturi suplimentare
- temă
- [chestionar post-lecție](https://ff-quizzes.netlify.app/web/)
- [quiz post-lecție](https://ff-quizzes.netlify.app/web/)
> **O notă despre chestionare**: Toate chestionarele sunt conținute în folderul Quiz-app, în total 48 de chestionare cu câte trei întrebări fiecare. Sunt disponibile [aici](https://ff-quizzes.netlify.app/web/), aplicația de chestionare poate fi rulată local sau poate fi implementată pe Azure; urmează instrucțiunile din folderul `quiz-app`.
> **O notă despre quiz-uri**: Toate quiz-urile sunt conținute în folderul Quiz-app, un total de 48 de quiz-uri cu câte trei întrebări fiecare. Sunt disponibile [aici](https://ff-quizzes.netlify.app/web/), aplicația pentru quiz poate fi rulată local sau implementată pe Azure; urmează instrucțiunile din folderul `quiz-app`.
## 🗃️ Lecții
| | Numele Proiectului | Concepte Predate | Obiective de Învățare | Lecția Legată | Autor |
| :-: | :-------------------------------------------------------------: | :---------------------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Începutul | Introducere în Programare și Unelte de Specialitate | Învață fundamentele de bază din majoritatea limbajelor de programare și despre software-ul care ajută dezvoltatorii profesioniști | [Introducere în Limbaje de Programare și Unelte](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Începutul | Bazele GitHub, inclusiv lucrul în echipă | Cum să folosești GitHub în proiectul tău, cum să colaborezi cu alții pe o bază de cod | [Introducere în GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Începutul | Accesibilitate | Învață noțiunile de bază despre accesibilitatea web | [Fundamentele Accesibilității](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Bazele JS | Tipurile de Date în JavaScript | Fundamentele tipurilor de date în JavaScript | [Tipuri de Date](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Bazele JS | Funcții și Metode | Învață despre funcții și metode pentru a gestiona fluxul logic al unei aplicații | [Funcții și Metode](./2-js-basics/2-functions-methods/README.md) | Jasmine și Christopher |
| 06 | Bazele JS | Luarea Deciziilor cu JS | Învață cum să creezi condiții în codul tău folosind metode de luare a deciziilor | [Luarea Deciziilor](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Bazele JS | Array-uri și Buclă | Lucrează cu datele folosind array-uri și bucle în JavaScript | [Array-uri și Buclă](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML în practică | Construiește HTML-ul pentru a crea un terrariu online, concentrându-te pe construirea unui layout | [Introducere în HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS în practică | Construiește CSS-ul pentru stilizarea terrariului online, concentrându-te pe bazele CSS, inclusiv realizarea unei pagini responsive | [Introducere în CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Închideri JavaScript, manipulare DOM | Construiește codul JavaScript pentru a face terrariul să funcționeze ca o interfață drag/drop, concentrându-te pe închideri și manipularea DOM | [Închideri JavaScript, manipulare DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Construiește un joc de tastare | Învață cum să folosești evenimentele de la tastatură pentru a ghida logica aplicației JavaScript | [Programare bazată pe evenimente](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lucrul cu Browsere | Învață cum funcționează browserele, istoria lor și cum să creezi câteva elemente de bază ale unei extensii de browser | [Despre Browsere](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Construirea unui formular, apelarea unei API și stocarea în storage local | Construiește elementele JavaScript ale extensiei de browser pentru a apela o API folosind variabile stocate în storage local | [API-uri, Formulare și Storage Local](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Procese de fundal în browser, performanța web | Folosește procesele de fundal ale browserului pentru a gestiona pictograma extensiei; învață despre performanța web și optimizări | [Task-uri de fundal și performanță](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Dezvoltare avansată a jocurilor cu JavaScript | Învață despre Moștenire folosind Clase și Compoziție și modelul Pub/Sub, în pregătirea pentru construirea unui joc | [Introducere în dezvoltarea avansată a jocurilor](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Desenare pe canvas | Învață despre Canvas API, folosit pentru a desena elemente pe ecran | [Desenare pe Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Mutarea elementelor pe ecran | Descoperă cum elementele pot dobândi mișcare folosind coordonatele carteziene și API-ul Canvas | [Mutarea elementelor](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Detectarea coliziunilor | Fă ca elementele să intre în coliziune și să reacționeze una la cealaltă folosind apăsări de taste și oferă o funcție de răcire pentru performanța jocului | [Detectarea coliziunilor](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Ținerea scorului | Efectuează calcule matematice bazate pe starea și performanța jocului | [Ținerea scorului](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Terminarea și reluarea jocului | Învață despre terminarea și reluarea jocului, inclusiv curățarea resurselor și resetarea valorilor variabile | [Condiția de încheiere](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | Șabloane HTML și Rute într-o aplicație Web | Învață cum să creezi structura unei arhitecturi de website multipage folosind rutare și șabloane HTML | [Șabloane HTML și Rute](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Construiește un formular de autentificare și înregistrare | Învață despre construirea formularelor și gestionarea rutinei de validare | [Formulare](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Metode de preluare și utilizare a datelor | Cum circulă datele în aplicația ta, cum să le preiei, stochezi și elimini | [Date](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Concepte de Gestionare a Stării | Învață cum aplicația ta păstrează starea și cum să o gestionezi programatic | [Gestionarea stării](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Lucrul cu VScode | Învață cum să folosești un editor de cod| [Folosește editorul VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Lucrul cu AI | Învață cum să construiești propriul tău asistent AI | [Proiect Asistent AI](./9-chat-project/README.md) | Chris |
| | Numele Proiectului | Concepte Predate | Obiective de Învățare | Lecția Legată | Autor |
| :-: | :--------------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Începutul | Introducere în programare și uneltele meseriei | Învață fundamentele de bază din spatele majorității limbajelor de programare și despre software-ul care ajută dezvoltatorii profesioniști | [Introducere în limbajele de programare și uneltele meseriei](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Începutul | Noțiuni de bază GitHub, inclusiv lucru în echipă | Cum să folosești GitHub în proiectul tău, cum să colaborezi cu alții pe un cod sursă | [Introducere în GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Începutul | Accesibilitate | Învață elementele de bază ale accesibilității web | [Fundamentele accesibilității](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | Bazele JS | Tipuri de date în JavaScript | Noțiunile de bază despre tipurile de date JavaScript | [Tipuri de date](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | Bazele JS | Funcții și Metode | Învață despre funcții și metode pentru a gestiona fluxul logic al unei aplicații | [Funcții și Metode](./2-js-basics/2-functions-methods/README.md) | Jasmine și Christopher |
| 06 | Bazele JS | Luarea Deciziilor cu JS | Învață cum să creezi condiții în cod folosind metode de luare a deciziilor | [Luarea deciziilor](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | Bazele JS | Array-uri și Buclă | Lucrează cu date folosind array-uri și bucle în JavaScript | [Array-uri și bucle](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Terrarium](./3-terrarium/solution/README.md) | HTML în practică | Construiește HTML-ul pentru a crea un terrarium online, concentrându-te pe realizarea unui layout | [Introducere în HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Terrarium](./3-terrarium/solution/README.md) | CSS în practică | Construiește CSS-ul pentru a stiliza terrariul online, concentrându-te pe elementele de bază CSS, inclusiv cum să faci pagina responsive | [Introducere în CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Terrarium](./3-terrarium/solution/README.md) | Closures în JavaScript, manipularea DOM | Construiește JavaScript-ul pentru a face terrariul să funcționeze ca o interfață drag/drop, concentrându-te pe closures și manipularea DOM-ului | [Closures JavaScript, manipularea DOM](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Construirea unui joc de tastare | Învață cum să folosești evenimentele de tastatură pentru a condimenta logica aplicației tale JavaScript | [Programare bazată pe evenimente](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Lucrul cu browsere | Învață cum funcționează browserele, istoria lor și cum să stabilești elementele de bază ale unei extensii pentru browser | [Despre browsere](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Construirea unui formular, apelarea unui API și stocarea variabilelor în stocarea locală | Construiește elementele JavaScript ale extensiei browserului pentru a apela un API folosind variabile stocate local | [API-uri, formulare și stocare locală](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Procesarea în fundal în browser, performanța web | Folosește procesele în fundal ale browserului pentru a gestiona pictograma extensiei; învață despre performanța web și optimizări pentru a face | [Task-uri de fundal și performanță](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Dezvoltare avansată a jocurilor cu JavaScript | Învață despre moștenire folosind atât Clase, cât și Compoziție și modelul Pub/Sub, în pregătirea pentru construire unui joc | [Introducere în dezvoltarea avansată a jocurilor](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Desenarea pe canvas | Învață despre API-ul Canvas, folosit pentru a desena elemente pe ecran | [Desenarea pe canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Mișcarea elementelor pe ecran | Descoperă cum elementele pot obține mișcare folosind coordonatele carteziene și API-ul Canvas | [Mișcarea elementelor](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Detectarea coliziunilor | Fă elementele să se ciocnească și să reacționeze unul la altul folosind apăsări de taste și oferă o funcție de cooldown pentru a asigura performanța jocului | [Detectarea coliziunilor](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Ținerea scorului | Realizează calcule matematice în funcție de starea și performanța jocului | [Ținerea scorului](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Terminarea și repornirea jocului | Învață despre terminarea și repornirea jocului, inclusiv curățarea asset-urilor și resetarea valorilor variabile | [Condiția de terminare](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | Șabloane HTML și Rute într-o aplicație web | Învață cum să creezi scheletul arhitecturii unui site multipagină folosind rutare și șabloane HTML | [Șabloane HTML și rute](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Construirea unui formular de autentificare și înregistrare | Învață despre construirea formularelor și gestionarea rutinei de validare | [Formulare](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Metode de obținere și utilizare a datelor | Cum circulă datele în și din aplicația ta, cum să le obții, să le stochezi și să le elimini | [Date](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Concepte de gestionare a stării | Învață cum aplicația ta păstrează starea și cum să o gestionezi programatic | [Gestionarea stării](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Lucrul cu VScode | Învață cum să folosești un editor de cod | [Folosește editorul VScode](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Lucrul cu AI | Învață cum să construiești propriul asistent AI | [Proiect Asistent AI](./9-chat-project/README.md) | Chris |
## 🏫 Pedagogie
Curriculumul nostru este conceput cu două principii pedagogice cheie în minte:
* învățare bazată pe proiecte
* chestionare frecvente
Curriculumul nostru este proiectat având în minte două principii pedagogice esențiale:
* învățarea bazată pe proiecte
* quizuri frecvente
Programul predă elementele fundamentale ale JavaScript, HTML și CSS, precum și cele mai noi unelte și tehnici folosite de dezvoltatorii web de astăzi. Studenții vor avea ocazia să dezvolte experiență practică construind un joc de tastare, un terrariu virtual, o extensie de browser eco-friendly, un joc în stil invazie spațială și o aplicație bancară pentru afaceri. Până la finalul seriei, studenții vor avea o înțelegere solidă a dezvoltării web.
Programul predă fundamentele JavaScript, HTML și CSS, precum și cele mai recente unelte și tehnici folosite de dezvoltatorii web de astăzi. Studenții vor avea oportunitatea de a dezvolta experiență practică construind un joc de tastare, un terrarium virtual, o extensie de browser eco-friendly, un joc tip space invader și o aplicație bancară pentru afaceri. La finalul seriei, studenții vor avea o înțelegere solidă a dezvoltării web.
> 🎓 Poți parcurge primele lecții din acest curriculum ca un [Drum de Învățare](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) pe Microsoft Learn!
> 🎓 Poți parcurge primele lecții din acest curriculum ca [Cale de Învățare](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) pe Microsoft Learn!
Prin asigurarea că conținutul este aliniat cu proiectele, procesul devine mai captivant pentru studenți și retenția conceptelor va fi sporită. Am scris, de asemenea, mai multe lecții introductive în bazele JavaScript pentru a introduce concepte, însoțite de un videoclip din colecția de tutoriale video "[Seria pentru Începători la: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", ale cărei autori au contribuit la acest curriculum.
Asigurându-ne că conținutul se aliniază cu proiectele, procesul devine mai captivant pentru studenți și reținerea conceptelor este amplificată. De asemenea, am scris mai multe lecții introductive despre bazele JavaScript pentru a introduce conceptele, însoțite de un videoclip din colecția de tutoriale video "[Seria pentru începători la: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", al căror autori au contribuit și la acest curriculum.
În plus, un chestionar cu miză redusă înaintea unei clase stabilește intenția studentului spre învățarea unui subiect, în timp ce un al doilea chestionar după clasă asigură o reținere suplimentară. Acest curriculum a fost conceput pentru a fi flexibil și distractiv și poate fi parcurs integral sau parțial. Proiectele încep mici și devin din ce în ce mai complexe până la finalul ciclului de 12 săptămâni.
În plus, un quiz cu miză scăzută înainte de clasă setează intenția studentului spre învățarea unui subiect, în timp ce un al doilea quiz după clasă asigură o reținere suplimentară. Acest curriculum a fost proiectat să fie flexibil și distractiv și poate fi parcurs integral sau parțial. Proiectele încep mici și devin din ce în ce mai complexe până la finalul ciclului de 12 săptămâni.
Deși am evitat intenționat introducerea framework-urilor JavaScript pentru a ne concentra pe abilitățile de bază necesare ca dezvoltator web, înainte de a adopta un framework, un bun pas următor pentru finalizarea acestui curriculum ar fi să înveți despre Node.js printr-o altă colecție de videoclipuri: "[Seria pentru Începători la: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Deși am evitat intenționat să introducem cadrele JavaScript pentru a ne concentra pe abilitățile de bază necesare ca dezvoltator web înainte de a adopta un framework, un bun pas următor după finalizarea acestui curriculum ar fi învățarea despre Node.js printr-o altă colecție de videoclipuri: "[Seria pentru începători la: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Vizitează ghidurile noastre [Cod de Conduită](CODE_OF_CONDUCT.md) și [Contribuire](CONTRIBUTING.md). Apreciem feedback-ul tău constructiv!
> Vizitează [Codul nostru de conduită](CODE_OF_CONDUCT.md) și liniile directoare pentru [Contribuții](CONTRIBUTING.md). Așteptăm cu interes feedback-ul tău constructiv!
## 🧭 Acces offline
Poți rula această documentație offline folosind [Docsify](https://docsify.js.org/#/). Fork-uiește acest repo, [instalează Docsify](https://docsify.js.org/#/quickstart) pe calculatorul tău local, apoi în folderul rădăcină al acestui repo, tastează `docsify serve`. Website-ul va fi servit pe portul 3000 pe localhost-ul tău: `localhost:3000`.
Poți rula această documentație offline folosind [Docsify](https://docsify.js.org/#/). Fă un fork acestui repo, [instalează Docsify](https://docsify.js.org/#/quickstart) pe mașina ta locală, apoi în folderul rădăcină al acestui repo tastează `docsify serve`. Site-ul va fi servit pe portul 3000 pe localhost-ul tău: `localhost:3000`.
## 📘 PDF
Un PDF cu toate lecțiile poate fi găsit [aici](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Alte Cursuri
Echipa noastră produce și alte cursuri! Descoperă:
## 🎒 Alte cursuri
Echipa noastră produce și alte cursuri! Verifică:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
### Azure / Edge / MCP / Agenți
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
@ -224,7 +224,7 @@ Echipa noastră produce și alte cursuri! Descoperă:
---
### Seria Inteligență Artificială Generativă
### Seria AI Generativă
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
@ -232,7 +232,7 @@ Echipa noastră produce și alte cursuri! Descoperă:
---
### Învățare Esențială
### Învățare de bază
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
@ -249,9 +249,9 @@ Echipa noastră produce și alte cursuri! Descoperă:
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Obține ajutor
## Obținerea ajutorului
Dacă ești blocat sau ai întrebări despre construirea aplicațiilor AI. Alătură-te altor cursanți și dezvoltatori experimentați în discuții despre MCP. Este o comunitate suportivă unde întrebările sunt binevenite și cunoștințele sunt împărtășite liber.
Dacă întâmpini dificultăți sau ai întrebări despre construirea aplicațiilor AI, alătură-te colegilor cursanți și dezvoltatorilor experimentați în discuții despre MCP. Este o comunitate de susținere unde întrebările sunt binevenite iar cunoștințele sunt împărtășite liber.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
@ -266,6 +266,6 @@ Acest depozit este licențiat sub licența MIT. Vezi fișierul [LICENSE](../../L
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un traducător uman. Nu ne asumăm răspunderea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea în urma utilizării acestei traduceri.
**Declinare de responsabilitate**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original, în limba sa nativă, trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite rezultate din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -0,0 +1,53 @@
# Foia de parcurs pentru depozitul Web-Dev-For-Beginners al Microsoft
**Acest depozit oferă o foaie de parcurs pentru învățarea elementelor fundamentale ale dezvoltării web, cu accent pe JavaScript, HTML și CSS. Curriculumul este flexibil și poate fi urmat integral sau parțial, cu 24 de lecții distribuite pe 12 săptămâni.**
## Repere cheie
* **Săptămânile 1-3:**
* Introducere în limbaje de programare și instrumente de lucru
* Bazele GitHub
* Accesibilitate
* Noțiuni de bază JS: tipuri de date, funcții și metode
* Luarea deciziilor cu JS
* **Săptămânile 4-6:**
* Array-uri și bucle
* Terrarium: HTML în practică
* CSS în practică
* Închideri în JavaScript
* Manipularea DOM
* **Săptămânile 7-9:**
* Jocul de tastare: programare bazată pe evenimente
* Green Browser Extension: lucrul cu browserele
* Crearea unui formular, apelarea unui API și stocarea variabilelor în stocarea locală
* Procese de fundal în browser
* Performanța web
* **Săptămânile 10-12:**
* Jocul spațiului: dezvoltare avansată de jocuri cu JavaScript
* Desenarea pe canvas
* Mișcarea elementelor pe ecran
* Detectarea coliziunilor
* Ținerea scorului, terminarea și reluarea jocului
* Aplicație bancară: Șabloane HTML și Rute într-o aplicație web
* Crearea unui formular de autentificare și înregistrare
* Metode de preluare și utilizare a datelor
* Concepte de gestionare a stării
## Rezultate de învățare
**Parcurgând această foaie de parcurs, studenții vor dobândi experiență practică creând un joc de tastare, un terrarium virtual, o extensie eco-friendly pentru browser, un joc în stil Space Invaders și o aplicație bancară pentru afaceri. De asemenea, vor dezvolta o înțelegere solidă a elementelor fundamentale ale dezvoltării web.**
## Resurse suplimentare
* Acest depozit oferă o sumedenie de resurse pentru învățare suplimentară, inclusiv tutoriale, exemple de cod și provocări.
* Platforma Microsoft Learn oferă o varietate de cursuri și trasee de învățare pentru dezvoltarea web.
* Comunități online precum Stack Overflow și MDN Web Docs furnizează sprijin și resurse valoroase pentru dezvoltatorii web.
**Sper că această foaie de parcurs să vă ajute în călătoria dvs. în dezvoltarea web!**
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Declinare a responsabilității**:
Acest document a fost tradus folosind serviciul de traducere AI [Co-op Translator](https://github.com/Azure/co-op-translator). Deși ne străduim pentru acuratețe, vă rugăm să rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa nativă trebuie considerat sursa autorizată. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm răspunderea pentru orice neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -493,7 +493,7 @@
},
"AGENTS.md": {
"original_hash": "a362efd06d64d4134a0cfe8515a86d34",
"translation_date": "2025-10-03T11:40:23+00:00",
"translation_date": "2026-02-06T18:33:54+00:00",
"source_file": "AGENTS.md",
"language_code": "sr"
},
@ -516,11 +516,17 @@
"language_code": "sr"
},
"README.md": {
"original_hash": "490c83786552d7fab6390991517bef09",
"translation_date": "2026-01-29T19:11:03+00:00",
"original_hash": "6d6385fd098088cb2d690fb0a6cdaedc",
"translation_date": "2026-02-06T18:29:19+00:00",
"source_file": "README.md",
"language_code": "sr"
},
"Roadmap.md": {
"original_hash": "28bf6185fd7f27b62ddc210514366192",
"translation_date": "2026-02-06T18:30:07+00:00",
"source_file": "Roadmap.md",
"language_code": "sr"
},
"SECURITY.md": {
"original_hash": "4ecc3bf2e27983d4c780be6f26ee6228",
"translation_date": "2025-08-28T10:03:11+00:00",

@ -2,281 +2,281 @@
## Преглед пројекта
Ово је репозиторијум образовног курикулума за учење основа веб развоја за почетнике. Курикулум је свеобухватан 12-недељни курс који су развили Microsoft Cloud Advocates, са 24 практичне лекције које покривају JavaScript, CSS и HTML.
Ово је репозиторијум за образовни програм за подучавање основа веб развоја почетницима. Програм је обухватан 12-недељни курс развијен од стране Microsoft Cloud Advocates, који садржи 24 практичне лекције које покривају JavaScript, CSS и HTML.
### Кључне компоненте
- **Образовни садржај**: 24 структурисане лекције организоване у модуле засноване на пројектима
- **Практични пројекти**: Тераријум, игра куцања, проширење за прегледач, свемирска игра, апликација за банкарство, едитор кода и AI асистент за ћаскање
- **Интерактивни квизови**: 48 квизова са по 3 питања (процене пре/после лекције)
- **Подршка за више језика**: Аутоматизовани преводи на 50+ језика путем GitHub Actions
- **Образовни садржај**: 24 структуиране лекције организоване у модуле засноване на пројектима
- **Практични пројекти**: Терраријум, Игра куцања, Прегледачки додатак, Свемирска игра, Банкарска апликација, Едитор кода и AI асистент за чет
- **Интерактивни квизови**: 48 квизова са по 3 питања (процена пре/после лекције)
- **Подршка за више језика**: Аутоматизовани преводи за више од 50 језика преко GitHub Actions
- **Технологије**: HTML, CSS, JavaScript, Vue.js 3, Vite, Node.js, Express, Python (за AI пројекте)
### Архитектура
- Образовни репозиторијум са структуром заснованом на лекцијама
- Свака фасцикла лекције садржи README, примере кода и решења
- Самостални пројекти у засебним директоријумима (quiz-app, разни пројекти лекција)
- Систем превођења користећи GitHub Actions (co-op-translator)
- Документација доступна преко Docsify и као PDF
- Образовни репозиторијум са структуром заснованом на лекцијама
- Свако фасцикло лекције садржи README, примере кода и решења
- Самостални пројекти у посебним директоријумима (quiz-app, разни пројекти лекција)
- Систем превођења користећи GitHub Actions (co-op-translator)
- Документација послужена преко Docsify и доступна као PDF
## Команде за подешавање
## Команде за постављање
Овај репозиторијум је првенствено намењен за конзумирање образовног садржаја. За рад на специфичним пројектима:
Овај репозиторијум је првенствено намењен за конзумирање образовног садржаја. За рад са специфичним пројектима:
### Подешавање главног репозиторијума
### Постављање главног репозиторијума
```bash
git clone https://github.com/microsoft/Web-Dev-For-Beginners.git
cd Web-Dev-For-Beginners
```
### Подешавање апликације за квизове (Vue 3 + Vite)
### Постављање Quiz апликације (Vue 3 + Vite)
```bash
cd quiz-app
npm install
npm run dev # Start development server
npm run build # Build for production
npm run lint # Run ESLint
npm run dev # Покрени сервер за развој
npm run build # Направи верзију за продукцију
npm run lint # Погонски ESLint
```
### API за банкарски пројекат (Node.js + Express)
### Банкарски API Пројекат (Node.js + Express)
```bash
cd 7-bank-project/api
npm install
npm start # Start API server
npm run lint # Run ESLint
npm run format # Format with Prettier
npm start # Покрени API сервер
npm run lint # Покрени ESLint
npm run format # Форматирај помоћу Prettier-а
```
### Пројекти проширења за прегледач
### Пројекти прегледачких додатака
```bash
cd 5-browser-extension/solution
npm install
# Follow browser-specific extension loading instructions
# Пратите упутства за учитавање додатака специфична за прегледач
```
### Пројекти свемирске игре
### Свемирски пројекат
```bash
cd 6-space-game/solution
npm install
# Open index.html in browser or use Live Server
# Отворите index.html у прегледачу или користите Live Server
```
### Пројекат за ћаскање (Python Backend)
### Чат пројекат (Python Backend)
```bash
cd 9-chat-project/solution/backend/python
pip install openai
# Set GITHUB_TOKEN environment variable
# Поставите GITHUB_TOKEN променљиву окружења
python api.py
```
## Радни ток развоја
### За доприносиоце садржаја
### За сараднике на садржају
1. **Fork-ујте репозиторијум** на свој GitHub налог
2. **Клонирајте свој fork** локално
3. **Креирајте нову грану** за своје измене
4. Направите измене у садржају лекција или примерима кода
5. Тестирајте измене кода у релевантним директоријумима пројеката
6. Поднесите pull захтеве у складу са смерницама за допринос
1. **Правите fork** репозиторијума на свој GitHub налог
2. **Клонирајте свој fork** локално
3. **Креирајте нову грану** за измене
4. Извршите промене у садржају лекција или примерима кода
5. Тестирајте измене кода у релевантним директоријумима пројеката
6. По шаљите pull request-ове у складу са смерницама за допринос
### За ученике
1. Fork-ујте или клонирајте репозиторијум
2. Прелазите кроз директоријуме лекција редом
3. Читајте README датотеке за сваку лекцију
4. Завршите квизове пре лекције на https://ff-quizzes.netlify.app/web/
5. Радите на примерима кода у фасциклама лекција
6. Завршите задатке и изазове
7. Урадите квизове након лекције
1. Направите fork или клонирајте репозиторијум
2. Навигајте кроз директоријуме лекција редом
3. Прочитајте README фајлове за сваку лекцију
4. Попуните квизове пре лекције на https://ff-quizzes.netlify.app/web/
5. Радите на примерима кода у фолдерима лекција
6. Завршите задатке и изазове
7. Урадите квизове после лекције
### Развој уживо
### Ливе развој
- **Документација**: Покрените `docsify serve` у корену (порт 3000)
- **Апликација за квизове**: Покрените `npm run dev` у директоријуму quiz-app
- **Пројекти**: Користите VS Code Live Server екстензију за HTML пројекте
- **API пројекти**: Покрените `npm start` у релевантним API директоријумима
- **Документација**: Покрените `docsify serve` у корену (порт 3000)
- **Quiz Апликација**: Покрените `npm run dev` у директоријуму quiz-app
- **Пројекти**: Користите VS Code Live Server екстензију за HTML пројекте
- **API Пројекти**: Покрените `npm start` у одговарајућим API директоријумима
## Упутства за тестирање
### Тестирање апликације за квизове
### Тестирање Quiz апликације
```bash
cd quiz-app
npm run lint # Check for code style issues
npm run build # Verify build succeeds
npm run lint # Проверите проблеме у стилу кода
npm run build # Потврдите да је израда успешна
```
### Тестирање API за банкарски пројекат
### Тестирање Bank API
```bash
cd 7-bank-project/api
npm run lint # Check for code style issues
node server.js # Verify server starts without errors
npm run lint # Провери проблеме са стилом кода
node server.js # Верификуј да ли сервер почиње без грешака
```
### Општи приступ тестирању
- Ово је образовни репозиторијум без свеобухватних аутоматизованих тестова
- Ручно тестирање се фокусира на:
- Примери кода се извршавају без грешака
- Линкови у документацији раде исправно
- Пројекти се успешно компајлирају
- Ово је образовни репозиторијум без свеобухватних аутоматизованих тестова
- Ручно тестирање се фокусира на:
- Извршавање примера кода без грешака
- Ради исправност линкова у документацији
- Успешна изградња пројеката
- Примери следе најбоље праксе
### Провере пре подношења
### Провере пре слања
- Покрените `npm run lint` у директоријумима са package.json
- Проверите да ли су markdown линкови валидни
- Тестирајте примере кода у прегледачу или Node.js
- Проверите да ли преводи задржавају исправну структуру
- Покрените `npm run lint` у директоријумима који имају package.json
- Проверите валидност markdown линкова
- Тестирајте примере кода у претраживачу или Node.js
- Проверите да преводи чувају правилну структуру
## Смернице за стил кода
## Смјернице за стил кода
### JavaScript
- Користите модеран ES6+ синтакс
- Следите стандардне ESLint конфигурације које су обезбеђене у пројектима
- Користите смислена имена променљивих и функција ради образовне јасноће
- Додајте коментаре који објашњавају концепте за ученике
- Форматирајте користећи Prettier где је конфигурисано
- Користите модерни ES6+ синтакс
- Пратите стандардне ESLint конфигурације у пројектима
- Користите значајне називе променљивих и функција ради јасноће
- Додајте коментаре који објашњавају концепте за ученике
- Форматирајте код помоћу Prettier где је конфигурисано
### HTML/CSS
- Семантички HTML5 елементи
- Принципи одзивног дизајна
- Јасне конвенције именовања класа
- Семантички HTML5 елементи
- Принципи прилагодљивог дизајна
- Јасне конвенције именовања класа
- Коментари који објашњавају CSS технике за ученике
### Python
- PEP 8 смернице за стил
- Јасан, образовни примери кода
- Типске назнаке где су корисне за учење
- Пратећи PEP 8 смернице стила
- Јасни, образовни примери кода
- Типске наговештаје где помаже учењу
### Markdown документација
- Јасна хијерархија наслова
- Блокови кода са спецификацијом језика
- Линкови ка додатним ресурсима
- Снимци екрана и слике у директоријумима `images/`
- Јасна хијерархија наслова
- Код блокови са спецификацијом језика
- Линкови ка додатним ресурсима
- Скриншотови и слике у фасциклама `images/`
- Alt текст за слике ради приступачности
### Организација датотека
### Организација фајлова
- Лекције нумерисане редом (1-getting-started-lessons, 2-js-basics, итд.)
- Сваки пројекат има `solution/` и често `start/` или `your-work/` директоријуме
- Слике смештене у директоријуме `images/` специфичне за лекцију
- Преводи у структури `translations/{language-code}/`
- Лекције бројењене секвенцијално (1-getting-started-lessons, 2-js-basics, итд.)
- Сваком пројекту припадају `solution/` и често `start/` или `your-work/` фасцикле
- Слике се чувају у специфичним `images/` фолдерима лекција
- Преводи су у структури `translations/{language-code}/`
## Изградња и распоређивање
## Изградња и деплоирање
### Распоређивање апликације за квизове (Azure Static Web Apps)
### Деплоирање Quiz апликације (Azure Static Web Apps)
Апликација за квизове је конфигурисана за распоређивање на Azure Static Web Apps:
quiz-app је конфигурисан за деплој Azure Static Web Apps:
```bash
cd quiz-app
npm run build # Creates dist/ folder
# Deploys via GitHub Actions workflow on push to main
npm run build # Креира фасциклу dist/
# Деплој преко GitHub Actions рада током пусха на main
```
Конфигурација Azure Static Web Apps:
- **Локација апликације**: `/quiz-app`
- **Локација излазних датотека**: `dist`
Azure Static Web Apps конфигурација:
- **Локација апликације**: `/quiz-app`
- **Локација излаза**: `dist`
- **Workflow**: `.github/workflows/azure-static-web-apps-ashy-river-0debb7803.yml`
### Генерисање PDF документације
### Генерација документације у PDF формату
```bash
npm install # Install docsify-to-pdf
npm run convert # Generate PDF from docs
npm install # Инсталирајте docsify-to-pdf
npm run convert # Генеришите PDF из докумената
```
### Docsify документација
```bash
npm install -g docsify-cli # Install Docsify globally
docsify serve # Serve on localhost:3000
npm install -g docsify-cli # Инсталирајте Доксифи глобално
docsify serve # Покрените на localhost:3000
```
### Изградња специфична за пројекте
Сваки директоријум пројекта може имати свој процес изградње:
- Vue пројекти: `npm run build` креира продукцијске пакете
- Статички пројекти: Нема корака изградње, директно сервирајте датотеке
Сваком пројекту може припадати свој процес изградње:
- Vue пројекти: `npm run build` креира продукцијске пакете
- Статички пројекти: Нема корака изградње, датотеке се служе директно
## Смернице за pull захтеве
## Смернице за Pull Request
### Формат наслова
Користите јасне, описне наслове који указују на област измене:
- `[Quiz-app] Add new quiz for lesson X`
- `[Lesson-3] Fix typo in terrarium project`
- `[Translation] Add Spanish translation for lesson 5`
- `[Docs] Update setup instructions`
Користите јасне и описне наслове који указују на област измене:
- `[Quiz-app] Додај нови квиз за лекцију X`
- `[Lesson-3] Исправка словне грешке у терраријум пројекту`
- `[Translation] Додај шпански превод за лекцију 5`
- `[Docs] Ажурирај упутства за постављање`
### Захтеване провере
### Обавезне провере
Пре подношења PR:
Пре слања PR:
1. **Квалитет кода**:
- Покрените `npm run lint` у релевантним директоријумима пројекта
- Исправите све грешке и упозорења lint-а
1. **Квалитет кода**:
- Покрените `npm run lint` у погођеним пројектним директоријумима
- Исправите све грешке и упозорења
2. **Провера изградње**:
- Покрените `npm run build` ако је применљиво
- Уверите се да нема грешака у изградњи
2. **Провера изградње**:
- Покрените `npm run build` ако је примењиво
- Осигурајте да нема грешака при изградњи
3. **Валидација линкова**:
- Тестирајте све markdown линкове
- Проверите да ли референце на слике раде
3. **Валидација линкова**:
- Тестирајте све markdown линкове
- Потврдите да све слике функционишу
4. **Преглед садржаја**:
- Проверите правопис и граматику
- Уверите се да су примери кода исправни и образовни
- Проверите да ли преводи задржавају оригинално значење
4. **Преглед садржаја**:
- Превијте правопис и граматику
- Потврдите тачност и образовност примера кода
- Проверите да преводи чувају оригинално значење
### Захтеви за допринос
- Сагласите се са Microsoft CLA (аутоматска провера при првом PR)
- Следите [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Погледајте [CONTRIBUTING.md](./CONTRIBUTING.md) за детаљне смернице
- Референцирајте бројеве проблема у опису PR ако је применљиво
- Прихватите Microsoft CLA (аутоматска провера при првом PR)
- Пратите [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/)
- Погледајте [CONTRIBUTING.md](./CONTRIBUTING.md) за детаљна упутства
- У опису PR наведите бројеве релевантних ишјуева ако постоје
### Процес прегледа
### Процес рецензије
- PR-ове прегледају одржаваоци и заједница
- Образовна јасноћа је приоритет
- Примери кода треба да следе тренутне најбоље праксе
- PR-ови се ревидирају од стране одржавача и заједнице
- Приоритет је образовна јасноћа
- Примери кода треба да прате савремене најбоље праксе
- Преводи се прегледају ради тачности и културне прикладности
## Систем превођења
### Аутоматизовани превод
### Аутоматски превод
- Користи GitHub Actions са co-op-translator workflow-ом
- Аутоматски преводи на 50+ језика
- Изворне датотеке у главним директоријумима
- Преведене датотеке у `translations/{language-code}/` директоријумима
- Користи GitHub Actions са co-op-translator workflow
- Аутоматски преводи на више од 50 језика
- Изворни фајлови у главним директоријумима
- Преведени фајлови у `translations/{language-code}/` фасциклама
### Додавање побољшања ручног превода
### Додавање ручних побољшања превода
1. Лоцирајте датотеку у `translations/{language-code}/`
2. Направите побољшања уз очување структуре
3. Уверите се да примери кода остају функционални
4. Тестирајте локализовани садржај квиза
1. Пронађите фајл у `translations/{language-code}/`
2. Унесите побољшања док очувате структуру
3. Потврдите да примери кода остају функционални
4. Тестирајте сваки локализовани квиз садржај
### Метаподаци превода
### Метаподаци о преводу
Преведене датотеке укључују заглавље метаподатака:
Преведени фајлови садрже заглавље са метаподацима:
```markdown
<!--
CO_OP_TRANSLATOR_METADATA:
@ -288,119 +288,121 @@ CO_OP_TRANSLATOR_METADATA:
}
-->
```
## Дебаговање и решавање проблема
### Уобичајени проблеми
### Чести проблеми
**Апликација за квизове не покреће се**:
- Проверите верзију Node.js (препоручено v14+)
- Обришите `node_modules` и `package-lock.json`, поново покрените `npm install`
- Проверите конфликте портова (подразумевано: Vite користи порт 5173)
**Quiz апликација не почиње**:
- Проверите верзију Node.js (препоручено v14+)
- Обришите `node_modules` и `package-lock.json`, па покрените поново `npm install`
- Проверите да нема конфликта портова (стандардно: Vite користи порт 5173)
**API сервер се не покреће**:
- Проверите да ли верзија Node.js испуњава минимум (node >=10)
- Проверите да ли је порт већ у употреби
- Уверите се да су све зависности инсталиране са `npm install`
**API сервер не почиње**:
- Уверите се да верзија Node задовољава минимум (node >=10)
- Проверите да ли је порт већ заузет
- Осигурајте све зависности са `npm install`
**Проширење за прегледач се не учитава**:
- Проверите да ли је manifest.json правилно форматиран
- Проверите конзолу прегледача за грешке
- Следите упутства за инсталацију проширења специфична за прегледач
**Прегледачки додатак се не учитава**:
- Проверите да је manifest.json правилно форматиран
- Погледајте конзолу прегледача за грешке
- Пратите упутства за инсталацију додатака за прегледач
**Проблеми са Python пројектом за ћаскање**:
- Уверите се да је OpenAI пакет инсталиран: `pip install openai`
- Проверите да ли је GITHUB_TOKEN постављен као променљива окружења
**Проблеми са Python чат пројектом**:
- Уверите се да је OpenAI пакет инсталиран: `pip install openai`
- Проверите да је GITHUB_TOKEN окружење постављено
- Проверите дозволе приступа GitHub Models
**Docsify не сервира документацију**:
- Инсталирајте docsify-cli глобално: `npm install -g docsify-cli`
- Покрените из коренског директоријума репозиторијума
- Проверите да ли `docs/_sidebar.md` постоји
**Docsify не служи документацију**:
- Инсталирајте docsify-cli глобално: `npm install -g docsify-cli`
- Покрените из корена репозиторијума
- Проверите да фајл `docs/_sidebar.md` постоји
### Савети за развојно окружење
- Користите VS Code са Live Server екстензијом за HTML пројекте
- Инсталирајте ESLint и Prettier екстензије за конзистентно форматирање
- Користите DevTools прегледача за дебаговање JavaScript-а
- За Vue пројекте, инсталирајте Vue DevTools екстензију за прегледач
- Користите VS Code са Live Server екстензијом за HTML пројекте
- Инсталирајте ESLint и Prettier екстензије за доследно форматирање
- Користите DevTools претраживача за дебаговање JavaScript-а
- За Vue пројекте инсталирајте Vue DevTools екстензију за прегледач
### Разматрања перформанси
### Перформанс и ограничења
- Велики број преведених датотека (50+ језика) значи да су пуни клони велики
- Користите плитко клонирање ако радите само на садржају: `git clone --depth 1`
- Искључите преводе из претраге када радите на садржају на енглеском
- Процеси изградње могу бити спори при првом покретању (npm install, Vite build)
- Велики број преведених фајлова (50+ језика) значи да су пун клонирања заузетни
- Користите shallow clone ако радите само на садржају: `git clone --depth 1`
- Искључите преводе из претраге када радите на енглеском садржају
- Процеси изградње могу бити спори приликом првог покретања (npm install, Vite build)
## Разматрања безбедности
## Безбедносни аспекти
### Променљиве окружења
- API кључеви никада не треба да буду послати у репозиторијум
- Користите `.env` датотеке (већ у `.gitignore`)
- Документирајте потребне променљиве окружења у README датотекама пројекта
- API кључеви никада не смеју бити комитовани у репозиторијум
- Користите `.env` фајлове (већ у `.gitignore`)
- Документујте потребне променљиве окружења у README фајловима пројеката
### Python пројекти
- Користите виртуелна окружења: `python -m venv venv`
- Одржавајте зависности ажурним
- GitHub токени треба да имају минималне потребне дозволе
- Користите виртуална окружења: `python -m venv venv`
- Одржавајте зависности ажурним
- GitHub token-ови треба да имају минималне потребне дозволе
### Приступ GitHub Models
- Personal Access Tokens (PAT) су потребни за GitHub Models
- Токени треба да буду чувани као променљиве окружења
- Никада не шаљите токене или креденцијале
- Захтевају се Personal Access Tokens (PAT) за GitHub Models
- Токени треба да се чувају као променљиве окружења
- Нико не сме да комитује токене или креденцијале
## Додатне напомене
### Циљна публика
- Потпуни почетници у веб развоју
- Студенти и самоуки ученици
- Наставници који користе курикулум у учионицама
- Садржај је дизајниран за приступачност и постепено стицање вештина
- Потпуни почетници у веб развоју
- Студенти и самоуки
- Наставници који користе програм у учионицама
- Садржај је дизајниран за приступачност и постепени развој вештина
### Образовна филозофија
- Приступ учењу заснован на пројектима
- Честа провера знања (квизови)
- Практичне вежбе кодирања
- Примери примене у стварном свету
- Фокус на основама пре коришћења оквира
- Приступ учењу заснован на пројектима
- Честа провера знања (квизови)
- Практичне вежбе кодирања
- Примери из стварног света
- Фокус на основама пре фрејмворка
### Одржавање репозиторијума
- Активна заједница ученика и доприносиоца
- Редовна ажурирања зависности и садржаја
- Проблеми и дискусије прати тим одржаваоца
- Активна заједница ученика и сарадника
- Редовна ажурирања зависности и садржаја
- Праћење ишјујева и дискусија од стране одржавача
- Ажурирања превода аутоматизована преко GitHub Actions
### Повезани ресурси
### Повољни ресурси
- [Microsoft Learn модули](https://docs.microsoft.com/learn/)
- [Ресурси за студенте](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) препоручен за ученике
- Додатни курсеви: Генеративни AI, наука о подацима, ML, IoT курикулуми доступни
- [Microsoft Learn модули](https://docs.microsoft.com/learn/)
- [Student Hub ресурси](https://docs.microsoft.com/learn/student-hub/)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot) препоручен за ученике
- Додатни курсеви: Generative AI, Data Science, ML, IoT наставни планови доступни
### Рад на специфичним пројектима
### Рад са специфичним пројектима
За детаљна упутства о појединачним пројектима, погледајте README датотеке у:
- `quiz-app/README.md` - Vue 3 апликација за квизове
- `7-bank-project/README.md` - Апликација за банкарство са аутентификацијом
- `5-browser-extension/README.md` - Развој проширења за прегледач
- `6-space-game/README.md` - Развој игара заснованих на Canvas-у
- `9-chat-project/README.md` - Пројекат AI асистента за ћаскање
За детаљна упутства о појединачним пројектима погледајте README фајлове у:
- `quiz-app/README.md` - Vue 3 квиз апликација
- `7-bank-project/README.md` - Банкарска апликација са аутентификацијом
- `5-browser-extension/README.md` - Развој прегледачких додатака
- `6-space-game/README.md` - Развој Canvas игре
- `9-chat-project/README.md` - AI асистент за чет
### Структура монорепозиторијума
### Монорепозиторијум структура
Иако није традиционални монорепозиторијум, овај репозиторијум садржи више независних пројеката:
- Свака лекција је самостална
- Пројекти не деле зависности
- Радите на појединачним пројектима без утицаја на друге
- Клонирајте цео репозиторијум за потпуно искуство курикулума
Иако није класичан монорепозиторијум, овај репозиторијум садржи више независних пројеката:
- Свака лекција је самостална
- Пројекти не деле зависности
- Радите на појединачним пројектима без утицаја на друге
- Клонирајте цео репозиторијум за пун утисак образовног програма
---
**Одрицање од одговорности**:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Одрицање одговорности**:
Овај документ је преведен уз помоћ АИ сервиса за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Иако тежимо прецизности, имајте у виду да аутоматски преводи могу садржати грешке или нетачности. Изворни документ на његовом матичном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешна тумачења која произилазе из коришћења овог превода.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,255 +1,249 @@
# Веб развој за почетнике - Наставни план
Научите основе веб развоја уз наш 12-недељни свеобухватни курс који воде Microsoft Cloud Advocates. Свака од 24 лекције улази у свет JavaScript-а, CSS-а и HTML-а кроз практичне пројекте као што су тераријуми, екстензије прегледача и свемирске игре. Укључите се у квизове, дискусије и практичне задатке. Побољшајте своје вештине и оптимизујте задржавање знања уз нашу ефикасну педагогију засновану на пројектима. Започните своје путовање у програмирању данас!
Научите основе веб развоја уз наш свеобухватни 12-недељни курс који воде Microsoft Cloud Advocates. Сваких 24 лекције дубоко истражује JavaScript, CSS и HTML кроз практичне пројекте као што су тераријуми, прегледачки екстензије и свемирске игре. Укључите се у квизове, дискусије и практичне задатке. Побољшајте своје вештине и оптимизујте задржавање знања уз нашу ефикасну педагогију засновану на пројектима. Започните своје кодирање данас!
Придружите се заједници Azure AI Foundry на Discord-у
Придружите се Azure AI Foundry Discord заједници
Следите ове кораке да бисте започели коришћење ових ресурса:
Пратите ове кораке да бисте почели да користите ове ресурсе:
1. **Направите форк репозиторијума**: Кликните [![GitHub forks](https://img.shields.io/github/forks/microsoft/Web-Dev-For-beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Web-Dev-For-Beginners/fork)
2. **Клонирајте репозиторијум**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
3. [**Придружите се Azure AI Foundry Discord-у и упознајте стручњаке и друге програмере**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 Подршка за више језика
#### Подржано путем GitHub Action-а (аутоматски и увек ажурирано)
#### Подржано преко GitHub акције (аутоматски и увек ажурирано)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[арапски](../ar/README.md) | [бенгалски](../bn/README.md) | [бугарски](../bg/README.md) | [бурмански (Мјанмар)](../my/README.md) | [китайски (поједностављени)](../zh-CN/README.md) | [китайски (традиционални, Хонг Конг)](../zh-HK/README.md) | [китайски (традиционални, Макао)](../zh-MO/README.md) | [китайски (традиционални, Тајван)](../zh-TW/README.md) | [хрватски](../hr/README.md) | [чешки](../cs/README.md) | [дански](../da/README.md) | [холандски](../nl/README.md) | [естонски](../et/README.md) | [фински](../fi/README.md) | [француски](../fr/README.md) | [немачки](../de/README.md) | [грчки](../el/README.md) | [хебрејски](../he/README.md) | [хинди](../hi/README.md) | [мађарски](../hu/README.md) | [индонежански](../id/README.md) | [италијански](../it/README.md) | [јапански](../ja/README.md) | [каннада](../kn/README.md) | [корејски](../ko/README.md) | [литвански](../lt/README.md) | [малајски](../ms/README.md) | [малајалам](../ml/README.md) | [маратхи](../mr/README.md) | [непалски](../ne/README.md) | [нигеријски пидгин](../pcm/README.md) | [норвешки](../no/README.md) | [персијски (фарси)](../fa/README.md) | [пољски](../pl/README.md) | [португалски (Бразил)](../pt-BR/README.md) | [португалски (Португал)](../pt-PT/README.md) | [пунџаби (Гурмуки)](../pa/README.md) | [румунски](../ro/README.md) | [руски](../ru/README.md) | [српски (ћирилица)](./README.md) | [словачки](../sk/README.md) | [словеначки](../sl/README.md) | [шпански](../es/README.md) | [свахили](../sw/README.md) | [шведски](../sv/README.md) | [тагалог (филипински)](../tl/README.md) | [тамилски](../ta/README.md) | [телугу](../te/README.md) | [тајландски](../th/README.md) | [турски](../tr/README.md) | [украјински](../uk/README.md) | [урду](../ur/README.md) | [вијетнамски](../vi/README.md)
> **Претпочитате локално клонирање?**
> **Више волите клон локално?**
> Овај репозиторијум садржи преко 50 превода, што значајно повећава величину преузимања. Да бисте клонирали без превода, користите sparse checkout:
> Овај репозиторијум садржи преко 50 превода језика што значајно повећава величину преузимања. Да бисте клонирали без превода, користите sparse checkout:
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/Web-Dev-For-Beginners.git
> cd Web-Dev-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
> Ово вам даје све што вам је потребно да завршите курс са знатно бржим преузимањем.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
**Ако желите да имате додатне језике превода, подржани су на овој страни [овде](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
> Ово вам је све што вам је потребно за завршетак курса са много бржим преузимањем.
[![Отвори у Visual Studio Code-у](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/microsoft/Web-Dev-For-Beginners)
**Ако желите додатне поддержане преводе језика, погледајте [овде](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)**
#### 🧑‍🎓 _Јеси ли студент?_
#### 🧑‍🎓 _Јесте ли студент?_
Посети [**Студентску страницу**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) где ћеш пронаћи ресурсе за почетнике, студентске пакете, па чак и начине да добијеш бесплатан сертификат. Ово је страница коју треба да означиш као фаворита и повремено провераваш док месечно ажурирамо садржаје.
Посетите [**Student Hub страницу**](https://docs.microsoft.com/learn/student-hub/?WT.mc_id=academic-77807-sagibbon) где ћете наћи ресурсе за почетнике, студентске пакете, па чак и начине да добијете бесплатан сертификат ваучер. Ово је страница коју желите да означите као обележивач и повремено проверите јер садржај мењамо месечно.
### 📣 Обавештење - Нови изазови GitHub Copilot Agent мода за завршетак!
### 📣 Обзнање - Нови GitHub Copilot Agent изазови за завршетак!
Додат је нови изазов, потражи "GitHub Copilot Agent Challenge 🚀" у већини поглавља. То је нови изазов који треба да завршиш користећи GitHub Copilot и Agent мод. Ако раније ниси користио Agent мод, он осим генерисања текста може да креира и уређује фајлове, покреће команде и још много тога.
Додат нови изазов, потражите "GitHub Copilot Agent Challenge 🚀" у већини поглавља. Ово је нови изазов који треба да завршите користећи GitHub Copilot и Agent режим. Ако раније нисте користили Agent режим, он може не само да генерише текст већ и да креира и уређује фајлове, извршава команде и још много тога.
### 📣 Обавештење - _Нови пројекат за прављење уз помоћ генеративне вештачке интелигенције_
### 📣 Обзнање - _Нови пројекат за израду помоћу генеративне АИ_
Додат је нови асистентски AI пројекат, провери га [пројекат](./9-chat-project/README.md)
Нови AI Assistant пројекат је управо додат, погледајте [проект](./9-chat-project/README.md)
### 📣 Обавештење - _Нови наставни план_ о генеративној AI на JavaScript-у управо је објављен
### 📣 Обзнање - _Нови наставни план_ о генеративној АИ за JavaScript је управо објављен
Не пропусти наш нови наставни план о генеративној AI!
Не пропустите наш нови генеративни AI наставни план!
Посети [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) да започнеш!
Посетите [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) да започнете!
![Позадина](../../translated_images/sr/background.148a8d43afde5730.webp)
![Background](../../translated_images/sr/background.148a8d43afde5730.webp)
- Лекције које покривају све од основа до RAG.
- Интеракција са историјским ликовима уз помоћ GenAI и наше пратеће апликације.
- Забавно и занимљиво наративно искуство, путоваћеш кроз време!
- Лекције покривају све од основа до RAG-а.
- Интеракција са историјским ликовима користећи GenAI и нашу пратећу апликацију.
- Забавна и занимљива прича, путоваћете кроз време!
![лик](../../translated_images/sr/character.5c0dd8e067ffd693.webp)
![character](../../translated_images/sr/character.5c0dd8e067ffd693.webp)
Свака лекција укључује задатак за завршавање, проверу знања и изазов који ће ти помоћи да научиш теме као што су:
- Израђивање упита и инжењеринг упита
Свака лекција укључује задатак за завршетак, проверу знања и изазов који вас оспособљава за учење тема као што су:
- Израда упита и инжењеринг упита
- Генерисање апликација за текст и слике
- Апликације за претраживање
- Апликације за претрагу
Посети [https://aka.ms/genai-js-course](../../[https:/aka.ms/genai-js-course) да започнеш!
Посетите [https://aka.ms/genai-js-course](https://aka.ms/genai-js-course) да започнете!
## 🌱 Започињање
## 🌱 Почетак рада
> **Наставници**, укључили смо [неке предлоге](for-teachers.md) о томе како да користите овај наставни план. Волећемо ваше повратне информације [на нашем форуму за дискусију](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
> **Наставници**, укључили смо [неке предлоге](for-teachers.md) како користити овај наставни план. Волео бих да добијемо ваше повратне информације [у нашем форуму за дискусију](https://github.com/microsoft/Web-Dev-For-Beginners/discussions/categories/teacher-corner)!
**[Ученици](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за сваку лекцију почнете са квизом пре предавања, а затим прочитајте материјал, завршите разне активности и проверите своје разумевање уз квиз након предавања.
**[Учећи](https://aka.ms/student-page/?WT.mc_id=academic-77807-sagibbon)**, за сваку лекцију, започните са квизом пре предавања и наставите читањем материјала предавања, завршите различите активности и проверите своје разумевање квизом након предавања.
Да бисте унапредили своје искуство учења, повежите се са својим колегама и радите на пројектима заједно! Дискусије су охрабрене на нашем [форуму за дискусију](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) где ће тим модератора бити доступан да одговори на ваша питања.
Да бисте побољшали своје искуство учења, повежите се са вршњацима да радите на пројектима заједно! Дискусије су охрабрене на нашем [форуму за дискусију](https://github.com/microsoft/Web-Dev-For-Beginners/discussions) где ће наш тим модератора бити доступан да одговори на ваша питања.
За даље образовање, топло препоручујемо да истражите [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за додатне материјале за учење.
За даље образовање, топло препоручујемо истраживање [Microsoft Learn](https://learn.microsoft.com/users/wirelesslife/collections/p1ddcy5jwy0jkm?WT.mc_id=academic-77807-sagibbon) за додатне материјале за учење.
### 📋 Постављање вашег окружења
### 📋 Постављање окружења
Овај наставни план већ има спремно развојно окружење! Када кренеш, можеш да одабереш да покренеш наставни план у [Codespace-у](https://github.com/features/codespaces/) (_окружење засновано на прегледачу, без потребе за инсталацијом_), или локално на свом рачунару користећи текстуални едитор као што је [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Овај наставни план има спремно развојно окружење! Пошто почнете, можете изабрати да покренете наставни план у [Codespace-у](https://github.com/features/codespaces/) (_прегледачком окружењу без потребе за инсталацијама_), или локално на вашем рачунару користећи уређивач текста као што је [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
#### Направи свој репозиторијум
Да бисте лако сачували свој рад, препоручујемо да направите своју копију овог репозиторијума. То можете учинити кликом на дугме **Use this template** на врху странице. Ово ће створити нови репозиторијум у вашем GitHub налогу са копијом овог наставног плана.
#### Креирање свог репозиторијума
Да бисте лако сачували свој рад, препоручује се да направите своју копију овог репозиторијума. То можете урадити кликом на дугме **Use this template** на врху странице. Ово ће креирати нови репозиторијум у вашем GitHub налогу са копијом наставног плана.
Пратите ове кораке:
1. **Направи форк репозиторијума**: Кликните на дугме "Fork" у горњем десном углу ове странице.
2. **Клонирај репозиторијум**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
1. **Направите форк репозиторијума**: Кликните на дугме „Fork“ у горњем десном углу ове странице.
2. **Клонирајте репозиторијум**: `git clone https://github.com/microsoft/Web-Dev-For-Beginners.git`
#### Покретање наставног плана у Codespace-у
#### Покретање курса у Codespace-у
У копији репозиторијума коју сте направили, кликните дугме **Code** и одаберите **Open with Codespaces**. Ово ће направити нови Codespace у којем можете радити.
У својој копији овог репозиторијума коју сте креирали, кликните на дугме **Code** и одаберите **Open with Codespaces**. Ово ће креирати нови Codespace у коме ћете радити.
![Codespace](../../translated_images/sr/createcodespace.0238bbf4d7a8d955.webp)
#### Покретање наставног плана локално на вашем рачунару
#### Покретање курса локално на вашем рачунару
Да бисте покренули овај наставни план локално на рачунару, потребан вам је текстуални едитор, прегледач и алат за линију команди. Наша прва лекција, [Увод у програмске језике и алате заната](../../1-getting-started-lessons/1-intro-to-programming-languages), водиће вас кроз различите опције за сваки од ових алата да изаберете шта вам највише одговара.
Да бисте покренули овај курс локално на рачунару, потребан вам је уређивач текста, прегледач и алат командне линије. Наша прва лекција, [Увод у програмске језике и алате струке](../../1-getting-started-lessons/1-intro-to-programming-languages), упознаће вас са различитим опцијама за сваки од ових алата да бисте одабрали шта вам највише одговара.
Препорука је да користите [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) као едитор, који такође има уграђени [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code можете преузети [овде](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
Препорука нам је да користите [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) као уређивач, који такође има уграђени [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon). Visual Studio Code можете преузети [овде](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon).
1. Клонирајте свој репозиторијум на рачунар. То можете урадити кликом на дугме **Code** и копирањем URL-а:
[CodeSpace](./images/createcodespace.png)
Затим, отворите [Terminal](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) у оквиру [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и покрените следећу команду, замењујући `<your-repository-url>` са УРЛ адресом коју сте управо копирали:
Онда отворите [Терминал](https://code.visualstudio.com/docs/terminal/basics/?WT.mc_id=academic-77807-sagibbon) унутар [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-77807-sagibbon) и покрените следећу команду, замењујући `<your-repository-url>` URL-ом који сте управо копирали:
```bash
git clone <your-repository-url>
```
2. Отворите фасциклу у Visual Studio Code-у. То можете урадити кликом на **File** > **Open Folder** и избором фасцикле коју сте управо клонирали.
2. Отворите фасциклу у Visual Studio Code-у. Ово можете урадити кликом на **File** > **Open Folder** и одабиром фасцикле коју сте управо клонирали.
> Препоручени Visual Studio Code додаци:
> Препоручене Visual Studio Code екстензије:
>
> * [Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer&WT.mc_id=academic-77807-sagibbon) - за преглед HTML страница унутар Visual Studio Code-а
> * [Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot&WT.mc_id=academic-77807-sagibbon) - да вам помогне да пишете код брже
## 📂 Свака лекција укључује:
- опциону скицноту
- опционални додатни видео
- пред-лекцијски квиз за загревање
- опциони скичнот
- опциони додатни видео
- квиз за загревање пре лекције
- писану лекцију
- за пројектно засноване лекције, корак-по-корак упутства како да изградите пројекат
- за пројектно засноване лекције, корак по корак упутства како направити пројекат
- провере знања
- изазов
- додатно читање
- додатну литературу
- задатак
- [пост-лекцијски квиз](https://ff-quizzes.netlify.app/web/)
- [квиз након лекције](https://ff-quizzes.netlify.app/web/)
> **Напомена о квизовима**: Сви квизови се налазе у фасцикли Quiz-app, укупно 48 квизова са по три питања. Доступни су [овде](https://ff-quizzes.netlify.app/web/), апликација за квизове може се покренути локално или поставити на Azure; пратите упутства у фасцикли `quiz-app`.
> **Напомена о квизовима**: Сви квизови се налазе у фасцикли Quiz-app, укупно 48 квизова од по три питања. Доступни су [овде](https://ff-quizzes.netlify.app/web/), квиз апликација може да се покрене локално или објави на Azure; пратите упутства у фасцикли `quiz-app`.
## 🗃️ Лекције
| | Име пројекта | Концепти који се уче | Циљеви учења | Повезана лекција | Аутор |
| :-: | :------------------------------------------------------: | :--------------------------------------------------------------------: | ----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Почетак рада | Увод у програмирање и алате заната | Научите основе које стоје иза већине програмских језика и о софтверу који помаже професионалним програмерима у њиховом раду | [Увод у програмске језике и алате заната](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Џасмин |
| 02 | Почетак рада | Основе GitHub-а, укључује рад у тиму | Како користити GitHub у свом пројекту, како сарађивати са другима на кодној бази | [Увод у GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Флор |
| 03 | Почетак рада | Приступачност | Научите основе веб приступачности | [Основе приступачности](./1-getting-started-lessons/3-accessibility/README.md) | Кристофер |
| 04 | Основе JS | Типови података у JavaScript-у | Основе типова података у JavaScript-у | [Типови података](./2-js-basics/1-data-types/README.md) | Џасмин |
| 05 | Основе JS | Функције и методе | Научите о функцијама и методама за управљање логиком апликације | [Функције и методе](./2-js-basics/2-functions-methods/README.md) | Џасмин и Кристофер |
| 06 | Основе JS | Доношење одлука са JS-ом | Научите како да креирате услове у свом коду користећи методе доношења одлука | [Доношење одлука](./2-js-basics/3-making-decisions/README.md) | Џасмин |
| 07 | Основе JS | Низови и петље | Рад са подацима користећи низове и петље у JavaScript-у | [Низови и петље](./2-js-basics/4-arrays-loops/README.md) | Џасмин |
| 08 | [Тераријум](./3-terrarium/solution/README.md) | HTML у пракси | Изградите HTML за креирање онлајн тераријума, фокусирајући се на изградњу распореда | [Увод у HTML](./3-terrarium/1-intro-to-html/README.md) | Џен |
| 09 | [Тераријум](./3-terrarium/solution/README.md) | CSS у пракси | Изградите CSS за стилизовање онлајн тераријума, фокусирајући се на основе CSS укључујући прављење странице одзивном | [Увод у CSS](./3-terrarium/2-intro-to-css/README.md) | Џен |
| 10 | [Тераријум](./3-terrarium/solution/README.md) | JavaScript затварања, манипулација DOM-ом | Направите JavaScript који омогућава тераријуму да функционише као интерфејс за превлачење и испуштање, фокусирајући се на затварања и манипулацију DOM-ом | [JavaScript затварања, манипулација DOM-ом](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Џен |
| 11 | [Тастатурна игра](./4-typing-game/solution/README.md) | Изградња тастатурне игре | Научите како да користите тастатурне догађаје за управљање логиком ваше JavaScript апликације | [Програмирање вођено догађајима](./4-typing-game/typing-game/README.md) | Кристофер |
| 12 | [Зелени проширење за прегледач](./5-browser-extension/solution/README.md) | Рад са прегледачима | Научите како прегледачи функционишу, њихову историју и како направити прве елементе проширења прегледача | [О прегледачима](./5-browser-extension/1-about-browsers/README.md) | Џен |
| 13 | [Зелени проширење за прегледач](./5-browser-extension/solution/README.md) | Изградња форме, позивање API-ја и чување променљивих у локалној меморији | Направите JavaScript елементе свог проширења прегледача за позивање API-ја користећи променљиве смештене у локалној меморији | [API-ји, форме и локална меморија](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Џен |
| 14 | [Зелени проширење за прегледач](./5-browser-extension/solution/README.md) | Позадински процеси у прегледачу, веб перформансе | Користите позадинске процесе прегледача за управљање иконом проширења; упознајте се са веб перформансама и неким оптимизацијама | [Позадински задаци и перформансе](./5-browser-extension/3-background-tasks-and-performance/README.md) | Џен |
| 15 | [Свемирска игра](./6-space-game/solution/README.md) | Напредније развијање игара са JavaScript-ом | Учите о Наслеђивању коришћењем и Класа и Композиције и Pub/Sub обрасцу, као припрему за израду игре | [Увод у напредни развој игара](./6-space-game/1-introduction/README.md) | Крис |
| 16 | [Свемирска игра](./6-space-game/solution/README.md) | Цртање на платну | Сазнајте о Canvas API-ју који се користи за цртање елемената на екрану | [Цртање на платну](./6-space-game/2-drawing-to-canvas/README.md) | Крис |
| 17 | [Свемирска игра](./6-space-game/solution/README.md) | Померање елемената по екрану | Откријте како елементи могу добити кретање користећи картезијанске координате и Canvas API | [Померање елемената](./6-space-game/3-moving-elements-around/README.md) | Крис |
| 18 | [Свемирска игра](./6-space-game/solution/README.md) | Детекција судара | Направите да се елементи сударе и реагују једни на друге користећи притиске тастера и обезбедите cooldown функцију за осигурање перформанси игре | [Детекција судара](./6-space-game/4-collision-detection/README.md) | Крис |
| 19 | [Свемирска игра](./6-space-game/solution/README.md) | Вођење резултата | Извршите математичке прорачунe на основу статуса и перформанси игре | [Вођење резултата](./6-space-game/5-keeping-score/README.md) | Крис |
| 20 | [Свемирска игра](./6-space-game/solution/README.md) | Завршавање и поновно покретање игре | Научите о завршетку и поновном покретању игре, укључујући чишћење ресурса и ресетовање вредности променљивих | [Услов за завршетак](./6-space-game/6-end-condition/README.md) | Крис |
| 21 | [Банкарска апликација](./7-bank-project/solution/README.md) | HTML шаблони и руте у веб апликацији | Научите како да направите основу архитектуре мултистраничног веб сајта користећи рутирање и HTML шаблоне | [HTML шаблони и руте](./7-bank-project/1-template-route/README.md) | Јохан |
| 22 | [Банкарска апликација](./7-bank-project/solution/README.md) | Изградња форме за пријаву и регистрацију | Научите о изградњи форми и руковању валидацијом | [Форме](./7-bank-project/2-forms/README.md) | Јохан |
| 23 | [Банкарска апликација](./7-bank-project/solution/README.md) | Методе преузимања и коришћења података | Како подаци улазе и излазе из ваше апликације, како их преузимати, чувати и уклањати | [Подаци](./7-bank-project/3-data/README.md) | Јохан |
| 24 | [Банкарска апликација](./7-bank-project/solution/README.md) | Концепти управљања стањем | Научите како ваша апликација задржава стање и како управљати њиме програмски | [Управљање стањем](./7-bank-project/4-state-management/README.md) | Јохан |
| 25 | [Browser/VScode Code](../../8-code-editor) | Рад са VScode | Научите како да користите уређивач кода| [Коришћење VScode уређивача кода](./8-code-editor/1-using-a-code-editor/README.md) | Крис |
| 26 | [AI Assistants](./9-chat-project/README.md) | Рад са вештачком интелигенцијом | Научите како да направите свог сопственог AI помоћника | [Пројекат AI помоћник](./9-chat-project/README.md) | Крис |
| | Назив пројекта | Концепти који се уче | Образовни циљеви | Повезана лекција | Аутор |
| :-: | :--------------------------------------------------------: | :-----------------------------------------------------------------------: | --------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------: | :---------------------: |
| 01 | Почетак рада | Увод у програмирање и алате заната | Научите основне основе иза већине програмских језика и о софтверу који помаже професионалним програмерима да обаве свој посао | [Увод у програмске језике и алате заната](./1-getting-started-lessons/1-intro-to-programming-languages/README.md) | Jasmine |
| 02 | Почетак рада | Основе GitHub-а, укључујући рад у тиму | Како користити GitHub у свом пројекту, како сарађивати са другима на коду | [Увод у GitHub](./1-getting-started-lessons/2-github-basics/README.md) | Floor |
| 03 | Почетак рада | Приступачност | Научите основе веб приступачности | [Основе приступачности](./1-getting-started-lessons/3-accessibility/README.md) | Christopher |
| 04 | JS Основе | JavaScript типови података | Основе типова података у JavaScript-у | [Типови података](./2-js-basics/1-data-types/README.md) | Jasmine |
| 05 | JS Основе | Функције и методе | Научите о функцијама и методама за управљање логиком апликације | [Функције и методе](./2-js-basics/2-functions-methods/README.md) | Jasmine and Christopher |
| 06 | JS Основе | Одлучивање уз помоћ JS | Научите како правити услове у свом коду користећи методе доношења одлука | [Доношење одлука](./2-js-basics/3-making-decisions/README.md) | Jasmine |
| 07 | JS Основе | Низови и петље | Рад са подацима користећи низове и петље у JavaScript-у | [Низови и петље](./2-js-basics/4-arrays-loops/README.md) | Jasmine |
| 08 | [Тераријум](./3-terrarium/solution/README.md) | HTML у пракси | Направите HTML за креирање онлајн тераријума, са фокусом на изградњу распореда | [Увод у HTML](./3-terrarium/1-intro-to-html/README.md) | Jen |
| 09 | [Тераријум](./3-terrarium/solution/README.md) | CSS у пракси | Направите CSS за стилизовање онлајн тераријума, са фокусом на основе CSS-а укључујући и респонсивност странице | [Увод у CSS](./3-terrarium/2-intro-to-css/README.md) | Jen |
| 10 | [Тераријум](./3-terrarium/solution/README.md) | JavaScript closures, DOM манипулација | Направите JavaScript који чини тераријум интерактивним помоћу "drag/drop", са фокусом на closure и DOM манипулацију | [JavaScript closures, DOM манипулација](./3-terrarium/3-intro-to-DOM-and-closures/README.md) | Jen |
| 11 | [Typing Game](./4-typing-game/solution/README.md) | Направите игру куцања | Научите како користити догађаје са тастатуре за управљање логиком ваше JavaScript апликације | [Програмирање вођено догађајима](./4-typing-game/typing-game/README.md) | Christopher |
| 12 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Рад са прегледачима | Научите како прегледачи раде, њихову историју и како започети развој додатка за прегледач | [О прегледачима](./5-browser-extension/1-about-browsers/README.md) | Jen |
| 13 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Израда форме, позив API-ја и чување променљивих у local storage | Направите JavaScript елементе ваше додатке за прегледачем који позива API користећи променљиве сачуване у локалну меморију | [API, форме и локална меморија](./5-browser-extension/2-forms-browsers-local-storage/README.md) | Jen |
| 14 | [Green Browser Extension](./5-browser-extension/solution/README.md) | Позадински процеси у прегледачу, перформансе веба | Употребите позадинске процесе прегледача за управљање иконицом додатка; научите о перформансама и оптимизацијама за учинак | [Позадински задаци и перформансе](./5-browser-extension/3-background-tasks-and-performance/README.md) | Jen |
| 15 | [Space Game](./6-space-game/solution/README.md) | Напреднија развој игара са JavaScript-ом | Научите о наслеђивању користећи класе и композицију и Pub/Sub шаблон, припрема за развој игре | [Увод у напредан развој игара](./6-space-game/1-introduction/README.md) | Chris |
| 16 | [Space Game](./6-space-game/solution/README.md) | Цртање на Canvas | Научите о Canvas API-ју који се користи за цртање елемената на екрану | [Цртање на Canvas](./6-space-game/2-drawing-to-canvas/README.md) | Chris |
| 17 | [Space Game](./6-space-game/solution/README.md) | Померање елемената по екрану | Откријте како елементи могу добити кретање користећи координате и Canvas API | [Померање елемената](./6-space-game/3-moving-elements-around/README.md) | Chris |
| 18 | [Space Game](./6-space-game/solution/README.md) | Детекција судара | Учините елементе да се сударе и реагују један на другог користећи притиске тастера и обезбедите cooldown функцију за перформансе | [Детекција судара](./6-space-game/4-collision-detection/README.md) | Chris |
| 19 | [Space Game](./6-space-game/solution/README.md) | Вођење резултата | Извршите математичке калкулације на основу статуса и учинка игре | [Вођење резултата](./6-space-game/5-keeping-score/README.md) | Chris |
| 20 | [Space Game](./6-space-game/solution/README.md) | Завршавање и поновно покретање игре | Научите о завршетку и поновном покретању игре, укључујући чишћење ресурса и ресетовање вредности променљивих | [Услов завршетка](./6-space-game/6-end-condition/README.md) | Chris |
| 21 | [Banking App](./7-bank-project/solution/README.md) | HTML шаблони и рутирање у веб апликацији | Научите како креирати основну архитектуру са више страница користећи руте и HTML шаблоне | [HTML шаблони и рутирање](./7-bank-project/1-template-route/README.md) | Yohan |
| 22 | [Banking App](./7-bank-project/solution/README.md) | Направите форму за пријаву и регистрацију | Научите како градити форме и руковати валидирањем | [Форме](./7-bank-project/2-forms/README.md) | Yohan |
| 23 | [Banking App](./7-bank-project/solution/README.md) | Методе преузимања и коришћења података | Како подаци улазе и излазе из апликације, како их преузимати, чувати и одлагати | [Подаци](./7-bank-project/3-data/README.md) | Yohan |
| 24 | [Banking App](./7-bank-project/solution/README.md) | Концепти управљања стањем | Научите како ваша апликација задржава стање и како га управљати програмски | [Управљање стањем](./7-bank-project/4-state-management/README.md) | Yohan |
| 25 | [Browser/VScode Code](../../8-code-editor) | Рад са VScode | Научите како користити едитор кода | [Користите VScode Code Editor](./8-code-editor/1-using-a-code-editor/README.md) | Chris |
| 26 | [AI Assistants](./9-chat-project/README.md) | Рад са вештачком интелигенцијом | Научите како направити свог АИ асистента | [Пројекат АИ асистента](./9-chat-project/README.md) | Chris |
## 🏫 Педагогија
Наш програм је дизајниран са два кључна педагошка принципа на уму:
Наш наставни план и програм дизајнирани су са два кључна педагошка принципа на уму:
* учење засновано на пројектима
* чести квизови
Програм учи основе JavaScript-а, HTML-а и CSS-а, као и најновије алате и технике које данашњи веб програмери користе. Студенти ће имати прилику да стекну практично искуство израдом тастатурне игре, виртуелног тераријума, еколошки прихватљивог проширења за прегледач, игре у стилу свемирског инвадера и банкарске апликације за предузећа. До краја серије, студенти ће стећи чврсто разумевање веб развоја.
Програм учи основе JavaScript-а, HTML-а и CSS-а, као и најновије алате и технике које данашњи веб програмери користе. Студенти ће имати прилику да стекну практично искуство правећи игру куцања, виртуелни тераријум, еколошки додатак за прегледач, игру у стилу освајача свемира и банкарску апликацију за предузећа. На крају серије, студенти ће имати чврсто разумевање веб развоја.
> 🎓 Прве неколико лекција у овом курикулуму можете проћи као [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) на Microsoft Learn!
> 🎓 Можете узети првих неколико лекција у овом наставном програму као [Learn Path](https://docs.microsoft.com/learn/paths/web-development-101/?WT.mc_id=academic-77807-sagibbon) на Microsoft Learn!
Осигуравањем да садржај одговара пројектима, процес је учињен занимљивијим за студенте и повећава задржавање концепата. Такође смо написали неколико почетних лекција о основама JavaScript-а да бисмо увели концепте, упарених са видеом из збирке видео туторијала "[Серија за почетнике: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", чији су неки аутори допринели овом курикулуму.
Обезбеђивањем да садржај буде повезан са пројектима, процес постаје занимљивији за студенте и повећава се задржавање концепата. Такође смо написали неколико уводних лекција о основу JavaScript-а за увођење концепата, у пару са видео-серијалом "[Beginners Series to: JavaScript](https://channel9.msdn.com/Series/Beginners-Series-to-JavaScript/?WT.mc_id=academic-77807-sagibbon)", којем су неки аутори допринели овом курикулуму.
Поред тога, квиз са малим улогом пре часа поставља намераву студента према учењу теме, док други квиз после часа обезбеђује даље задржавање. Овај курикулум је осмишљен да буде флексибилан и забаван и може се похађати у целини или делимично. Пројекти почињу мали и постају све сложенији до краја циклуса од 12 недеља.
Поред тога, квиз са ниским ризиком пре часа поставља намеру студента према учењу теме, док други квиз након часа осигурава даље задржавање знања. Овај програм је дизајниран да буде флексибилан и забаван и може се узимати у целости или делимично. Пројекти почињу мали и постепено постају сложенији до краја 12-недељног циклуса.
Док смо свесно избегавали увођење JavaScript фрејмворка како бисмо се концентрисали на основне вештине потребне као веб програмер пре усвајања фрејмворка, добар следећи корак након завршетка овог курикулума био би учење о Node.js-у кроз другу збирку видео снимака: "[Серија за почетнике: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
Иако смо намјерно избегавали увод JavaScript фрејмворка како бисмо се концентрисали на основне вештине потребне веб програмеру пре усвајања фрејмвора, добар следећи корак након завршетка овог програма био би учење Node.js преко друге серије видео-снимака: "[Beginner Series to: Node.js](https://channel9.msdn.com/Series/Beginners-Series-to-Nodejs/?WT.mc_id=academic-77807-sagibbon)".
> Посетите наше смернице [Code of Conduct](CODE_OF_CONDUCT.md) и [Contributing](CONTRIBUTING.md). Добро дошли су ваши конструктивни предлози!
> Посетите наше смернице [Code of Conduct](CODE_OF_CONDUCT.md) и [Contributing](CONTRIBUTING.md). Добродошла је ваша конструктивна повратна информација!
## 🧭 Приступ ван мреже
## 🧭 Оффлајн приступ
Ову документацију можете покренути ван мреже користећи [Docsify](https://docsify.js.org/#/). Форкујте овај репозиторијум, [инсталирајте Docsify](https://docsify.js.org/#/quickstart) на свом локалном уређају, а затим у коренској фасцикли овог репозиторијума откуцајте `docsify serve`. Веб сајт ће се послужити на порту 3000 на вашем локалном хосту: `localhost:3000`.
Ову документацију можете покренути оффлајн користећи [Docsify](https://docsify.js.org/#/). Форкујте овај репо, [инсталирајте Docsify](https://docsify.js.org/#/quickstart) на локалну машину и затим у коренској фасцикли овог репозиторијума укуцајте `docsify serve`. Вебсајт ће бити доступан на порту 3000 на вашем localhost-у: `localhost:3000`.
## 📘 PDF
PDF свих лекција можете пронаћи [овде](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
PDF свих лекција може се пронаћи [овде](https://microsoft.github.io/Web-Dev-For-Beginners/pdf/readme.pdf).
## 🎒 Остали курсеви
## 🎒 Остали курсеvi
Наш тим производи и друге курсеве! Погледајте:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j за почетнике](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js за почетнике](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD за почетнике](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI за почетнике](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP за почетнике](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI агенти за почетнике](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
### Azure / Edge / MCP / агенти
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Серии генеративне вештачке интелигенције
[![Генеративна AI за почетнике](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Генеративна AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Генеративна AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Генеративна AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
### Серия генеративне AI
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### Основно учење
[![Машинско учење за почетнике](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Наука о подацима за почетнике](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI за почетнике](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Кибербезбедност за почетнике](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Веб развој за почетнике](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT за почетнике](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR развој за почетнике](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Серии Ко-пилота
[![Ко-пилот за парно програмирање са AI](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Ко-пилот за C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Ко-пилот авантура](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
### Серия Copilot
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## Помоћ
## Добијање помоћи
Ако запнете или имате било каквих питања о изградњи AI апликација, прикључите се другим ученицима и искусним програмерима у дискусијама о MCP. То је подржавајућа заједница у којој су питања добродошла и знање се слободно дели.
Ако запнете или имате питања о креирању AI апликација. Придружите се другим учесницима и искусним програмерима у дискусијама о MCP. Ово је подржавајућа заједница где су питања добродошла и знање се слободно дели.
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
Ако имате повратне информације о производу или наиђете на грешке током израде, посетите:
Ако имате повратне информације о производу или грешке током прављења посетите:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## Лиценца
Овај репозиторијум је лиценциран под MIT лиценцом. Погледајте датотеку [LICENSE](../../LICENSE) за више информација.
Овај репозиторјум је лиценциран под MIT лиценцом. Погледајте датотеку [LICENSE](../../LICENSE) за више информација.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Одрицање одговорности**:
Овај документ је преведен коришћењем AI услуге за превођење [Co-op Translator](https://github.com/Azure/co-op-translator). Иако се трудимо да превод буде тачан, имајте у виду да аутоматски преводи могу садржавати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални превод од стране људи. Не сносимо одговорност за било каква неспоразума или погрешна тумачења настала коришћењем овог превода.
**Одрицање од одговорности**:
Овај документ је преведен коришћењем AI услуге за превођење [Co-op Translator](https://github.com/Azure/co-op-translator). Иако тежимо прецизности, молимо вас да имате у виду да аутоматски преводи могу да садрже грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати коначним и ауторитетним извором. За критичне информације препоручује се професионални људски превод. Ми нисмо одговорни за било каква неспоразуми или погрешна тумачења која могу настати употребом овог превода.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -0,0 +1,53 @@
# План путање за Microsoft-ов репозиторијум Web-Dev-For-Beginners
**Овај репозиторијум пружа план путање за учење основа веб развоја са фокусом на JavaScript, HTML и CSS. Наставни план је флексибилан и може се похађати у целини или делимично, са 24 лекције распоређене кроз 12 недеља.**
## Кључне прекретнице
* **Недеље 1-3:**
* Увод у програмске језике и алате заната
* Основе GitHub-а
* Приступачност
* Основе JS: типови података, функције и методе
* Доношење одлука помоћу JS
* **Недеље 4-6:**
* Низови и петље
* Терраријум: HTML у пракси
* CSS у пракси
* JavaScript клоужери
* Манипулација DOM-ом
* **Недеље 7-9:**
* Игра куцања: Програмирање на основу догађаја
* Green Browser Extension: Рад са прегледачима
* Прављење форме, позивање API-ја и чување променљивих у локалној меморији
* Позадински процеси у прегледачу
* Веб перформансе
* **Недеље 10-12:**
* Space Game: Напреднији развој игара са JavaScript-ом
* Цртање на canvas-у
* Померање елемената по екрану
* Детекција судара
* Вођење резултата, завршетак и поновни почетак игре
* Banking App: HTML шаблони и рутирање у веб апликацији
* Прављење форме за пријављивање и регистрацију
* Методи дохваћања и коришћења података
* Концепти управљања стањем
## Резултати учења
**Завршетком ове план путање, студенти ће стећи практично искуство у изради игре куцања, виртуелног терраријума, еко-пријатељског проширења за прегледач, игре у стилу Space Invaders и банкарске апликације за пословање. Такође ће развити солидно разумевање основа веб развоја.**
## Додатни ресурси
* Овај репозиторијум нуди богатство ресурса за даље учење, укључујући туторијале, примере кода и изазове.
* Microsoft Learn платформа нуди разне курсеве и планове учења за веб развој.
* Онлајн заједнице као што су Stack Overflow и MDN Web Docs пружају вредну подршку и ресурсе за веб програмере.
**Надам се да ће вам овај план путање помоћи на вашем путу развоја веба!**
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Одрицање од одговорности**:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције [Co-op Translator](https://github.com/Azure/co-op-translator). Иако тежимо тачности, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Изворни документ на његовом матичном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални људски превод. Нисмо одговорни за било каква неспоразума или погрешне интерпретације које произлазе из коришћења овог превода.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save