Skip to content

Commit f77dbcf

Browse files
feat(rs-tandem): clarify flexibility and custom components
- Rename 'Core Pillars' to 'Ключевые принципы проекта' - Add component and widget definitions in README - Update timeframes: allow 4 weeks, recommend 6 weeks - Clarify LLM component: can do only widgets or combine - Add minimum 2 components requirement (exception: AI Agent) - Add information about creating custom components and widget types - Update COMPONENTS.md with custom component/widget creation guidelines
1 parent 73667d8 commit f77dbcf

2 files changed

Lines changed: 26 additions & 56 deletions

File tree

tasks/stage2/tasks/rs-tandem/COMPONENTS.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
4. **Нет конфликтов** — не нужно договариваться о едином направлении
3131
5. **Комбинирование** — можно делать И AI Agent, И виджеты в одном приложении
3232

33+
### Создание своих компонентов
34+
35+
**Вы можете создавать свои типы компонентов**, не ограничиваясь списком в этом документе
36+
**Например:** Команда может создать компонент "Progress Tracker" (отслеживание прогресса по темам) или "Social Features" (комментарии, рейтинги) — это ваше решение.
37+
3338
### Как это работает
3439

3540
```
@@ -285,6 +290,11 @@ POST /api/widgets/:id/validate
285290
286291
**Можно добавить свои виджеты!** Команда может предложить собственные задания для других тем.
287292

293+
**Создание своих типов виджетов:**
294+
- Вы можете расширить `WidgetConfig` в `src/types/index.ts`, добавив новый тип виджета (например, `'regex-builder'` или `'prototype-chain'`)
295+
- Widget Engine должен поддерживать ваш новый тип через Strategy Pattern (см. [ARCHITECTURE_AND_API.md](./ARCHITECTURE_AND_API.md))
296+
- Важно: новый виджет должен быть JSON-driven и соответствовать общей архитектуре
297+
288298
---
289299

290300
## ✨ Enhancement Components (Улучшения)

tasks/stage2/tasks/rs-tandem/README.md

Lines changed: 16 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -18,38 +18,24 @@
1818

1919
---
2020

21-
## Глоссарий терминов
22-
23-
| Термин | Определение | Примеры |
24-
|--------|-------------|---------|
25-
| **Компонент** | Архитектурная единица проекта, которую студент берёт в работу | Auth, Dashboard, AI Agent, Quiz Widget |
26-
| **Виджет** | Тип компонента — интерактивный UI-блок для тренировки | Quiz, True/False, Memory Game, Async Sorter |
27-
28-
**Структура:**
29-
```
30-
Компоненты
31-
├── Core (Landing, Auth, Profile, Dashboard, Library, Navigation, Pagination, Backend, State)
32-
├── Practice (способы практики)
33-
│ ├── AI Agent (сложный компонент)
34-
│ └── Виджеты (Widget Engine + отдельные виджеты)
35-
└── Enhancement (Theme, i18n, Gamification, ...)
36-
```
37-
---
38-
39-
## Core Pillars (Столпы проекта)
21+
## Ключевые принципы проекта
4022

4123
### 1. Цель проекта
4224
**Приложение для подготовки к техническим интервью**
4325

4426
### 2. Компонентный подход
4527
- Проект разделен на **компоненты** (модули)
28+
- Компонент - архитектурная единица проекта, которую студент берёт в работу. Например: Auth, Dashboard, AI Agent, Quiz Widget
29+
- Виджет - отдельный тип компонента — интерактивный UI-блок для тренировки. Например: True/False, Memory Game, Async Sorter
4630
- У команд есть **свобода внутри компонента**: дизайн, технологии, функциональность
4731
- Каждый студент работает над **своими компонентами** (минимум 2 компонента)
4832

4933
### 3. Временные рамки
5034
- **4-6 недель** на разработку проекта
5135
- **2 недели** на прием презентаций
5236

37+
Изначально на курсе было заявлено, что финальный проект продлится месяц — мы допускаем, что часть студентов потратит на разработку именно месяц. Однако рекомендуем использовать все 6 недель.
38+
5339
### 4. Система оценки
5440
- **Личная оценка**: 70%
5541
- **Командная оценка**: 30%
@@ -58,17 +44,20 @@
5844
### 5. Фокус на обучении
5945
- **Главное**: Что вы изучили в процессе
6046
- **Не важно**: Использовали ли вы AI для написания кода или нет
61-
- **Цель**: После проекта знаний должно быть больше, чем до него
47+
- **Цель**: После проекта знаний должно быть больше, чем до него :)
6248

6349
### 6. LLM в проекте
64-
- AI Agent — это **один из компонентов**, не обязательный для всех
65-
- **Не обязательно** для всех студентов делать компонент с LLM
66-
- Можно комбинировать: AI Agent + виджеты в одном приложении
50+
- AI Agent — это **один из компонентов**, не обязательный для всех команд
51+
- По решению команды вы можете:
52+
- Разрабатывать **только виджеты**
53+
- **Комбинировать** AI Agent + виджеты в одном приложении
6754

6855
### 7. Гибкость
69-
- Можно сделать только один компонент хорошо
70-
- Можно сделать больше 2 компонентов
71-
- Можно выбрать AI Agent **или** виджеты **или** оба
56+
- Каждый участник команды должен сделать **минимум** 2 компонента
57+
- **Исключение:** AI Agent можно разрабатывать весь срок обучения (может быть единственным компонентом)
58+
- Tandem может содержать AI Agent **или** виджеты **или** оба
59+
- **Можно создавать свои типы компонентов и виджетов** (не ограничиваясь списком этого Т/З)
60+
- Архитектура приложения и критерии оценки спроектированы так, что **не все компоненты обязательны** — часть может отсутствовать в вашем приложении
7261
- Важно качество и понимание того, что делаешь
7362

7463
---
@@ -99,11 +88,9 @@
9988
---
10089

10190
## Компоненты проекта
91+
Ниже приведены примеры компонентов. Вы можете создавать свои типы компонентов и виджетов, не ограничиваясь этим списком.
10292

10393
### 🔧 Core (Основа приложения)
104-
105-
*Базовые компоненты, из которых строится приложение.*
106-
10794
1. **Landing Page** — главная для неавторизованных
10895
2. **Auth** — регистрация, вход, сессии
10996
3. **Profile** — профиль пользователя
@@ -115,7 +102,6 @@
115102
9. **State Persistence** — сохранение при перезагрузке
116103

117104
### 🎯 Practice (Способы практики)
118-
119105
*Команда выбирает минимум 1 способ:*
120106

121107
**AI Agent (⭐⭐⭐⭐ сложный компонент):**
@@ -144,29 +130,3 @@
144130
> Детали см. в [COMPONENTS.md](./COMPONENTS.md)
145131
146132
---
147-
148-
## Примеры распределения работы
149-
150-
### Команда 3 человека (AI + Виджеты)
151-
152-
```
153-
Человек 1: Auth + Profile + Navigation
154-
Человек 2: Dashboard + Library + 2 виджета
155-
Человек 3: AI Agent (целиком)
156-
```
157-
158-
### Команда 2 человека (только Виджеты)
159-
160-
```
161-
Человек 1: Auth + Dashboard + Library + Navigation
162-
Человек 2: Widget Engine + 4 виджета
163-
```
164-
165-
### Команда 3 человека (только AI)
166-
167-
```
168-
Человек 1: Auth + Profile + Navigation + I18n
169-
Человек 2: Dashboard + Library + Report Card
170-
Человек 3: AI Agent + Code Editor
171-
```
172-

0 commit comments

Comments
 (0)