Практичний проєкт 2 · після модуля 9
Data-driven catalog logic
Створіть оригінальний каталог на synthetic data. Відокремте pure-ish core від view: normalize, validate, filter, sort, project і summarize; додайте fixtures, regression tests, non-mutation evidence та доступне responsive представлення.
Що здати
- Публічний HTTPS artifact без login, trackers і real data collection.
- Source repository або archive з version, core logic, synthetic dataset і view.
- README: problem, schema, function contracts, failure/duplicate policy, запуск і known limits.
- Fixtures/tests для normal, empty, invalid, boundary, duplicate і missing values.
- Non-mutation та debugging/retest evidence і короткий self-review.
Portfolio-safe scope
Не додавайте credentials, API keys, production endpoints, чужі персональні дані, network requests або storage у core. Unknown raw fields не копіюються в trusted model без allowlist.
Обов’язкові acceptance checks
- Documented schema і controlled validation/failure policy.
- Малі function contracts без hidden global mutation.
- Pipeline normalize → validate → filter → sort → project → summarize.
- Original dataset і order не змінюються без explicit documented boundary.
- Core не залежить від DOM, network, timers або storage.
- Accessible responsive view працює keyboard-first, у light/dark і без horizontal overflow.
Рубрика · 100 балів
| Критерій | Бали | Що доводить результат |
|---|---|---|
| Data model і validation | 20 | Schema, allowlist, normalization, invariants, failure policy |
| Function contracts і decomposition | 20 | Parameters/return, scope, pure-ish stages, readable names |
| Array pipeline і non-mutation | 20 | Correct methods, comparator/accumulator, source evidence |
| View integration і accessibility | 20 | Separated boundary, responsive UI, keyboard, focus, themes |
| Tests, delivery і privacy | 20 | Fixtures, regression record, README, reproducibility, safe data |
Прийняття: щонайменше 80/100 та відсутність blocker: недоступний artifact/source, secret/PII/tracker/production endpoint, core із network/storage/DOM dependency або відсутні required fixtures.
Як відбувається review
- Завершіть урок 36 і тест — форма здачі відкриється автоматично.
- Надішліть HTTPS artifact і source URL.
- SEOWORK перевірить gates, evidence і кожний критерій рубрики.
- Якщо результат нижче 80 або є blocker, виправте описані проблеми та подайте нову версію.
Подання роботи на перевірку
Передайте HTTPS-посилання на папку або репозиторій із доступом для перегляду. Не додавайте паролі, API-ключі, персональні дані клієнтів чи production-вивантаження.
- Публічний HTTPS artifact без login, trackers або real data collection
- Source repository або archive з version, core logic, synthetic dataset і view
- README зі schema, function contracts, failure/duplicate policy, запуском і known limitations
- Fixtures і tests для normal, empty, invalid, boundary, duplicate та missing-value cases
- Non-mutation, debugging і regression evidence та self-review без PII або secrets
- Data model, schema assumptions and validation — 20
- Function contracts, lexical scope and decomposition — 20
- Array pipeline, correctness and non-mutation — 20
- Accessible responsive view integration — 20
- Tests, delivery, privacy and reproducibility — 20