Рейтинг здоровья открытых репозиториев
Оценка от 0 до 100 по данным SourceCraft.Оценка от 0 до 100 по данным SourceCraft: насколько проект жив, документирован и отзывчив к пользователям.
4 категории из 6, пересчёт раз в сутки. Как считается
Оценка по открытым данным: 4 категории из 6, пересчёт раз в сутки, лайки на место не влияют. Как считается
| Сравнить | Место | Репозиторий | Оценка | 90 дней | Категории | Последний коммит | Лайки | Язык |
|---|---|---|---|---|---|---|---|---|
| 13465–162533249Опустился на 3249 мест за 30 дней | 25 | 528 дней назад | 0 | JavaScript | ||||
| 13465–16253 | Лаборатория кода: учебные проекты, автоматизация рутины, учебные материалы по программированию и наброски на Python | 25 | 131 день назад | 0 | ||||
| 13465–162533248Опустился на 3248 мест за 30 дней | 25 | 338 дней назад | 0 | |||||
| 13465–162533248Опустился на 3248 мест за 30 дней | Тестовый репозиторий | 25 | 260 дней назад | 0 | HTML | |||
| 13465–16253 | / | 25 | 398 дней назад | 0 | ||||
| 13465–16253 | Тестовый+репозиторий | 25 | 141 день назад | 0 | ||||
| 13465–162533248Опустился на 3248 мест за 30 дней | 25 | 338 дней назад | 0 | |||||
| 13465–162533248Опустился на 3248 мест за 30 дней | Тестовый репозиторий | 25 | 324 дня назад | 0 | HTML | |||
| 13465–16253 | 25 | 297 дней назад | 0 | |||||
| 13465–16253 | for cpp | 25 | 284 дня назад | 0 | ||||
| 13465–16253 | 1. Структура репозитория Рекомендуемая структура папок: text Переносить Свернуть Копировать /src /core /calculator # чистая логика расчётов (без UI и API) - calculate.ts - types.ts - utils.ts /api - handler.ts # основной хендлер (FastAPI/Express/etc.) - routes.ts # роуты - validators.ts # валидация запросов /catalog - sync.ts # импорт/синхронизация каталога (CSV/API) - search.ts # поиск и фильтрация /tests - calculator.spec.ts - api.spec.ts /docs - architecture.md - api-spec.md - data-model.md /data - sample-catalog.json - sample-catalog.csv /scripts - sync-catalog.sh # скрипт синхронизации /docker - Dockerfile - docker-compose.yml .gitignore README.md package.json / pyproject.toml 2. Стек технологий (рекомендуемый) Язык: TypeScript (Node.js) или Python (FastAPI) — выбрать один. HTTP: Express (TS) или FastAPI (Py). Валидация: Zod (TS) / Pydantic (Py). Тестирование: Vitest (TS) / pytest (Py), плюс unit-тесты для формул. CI/CD: встроенный в SourceCraft пайплайн (lint → test → build → deploy). Контейнеризация: Docker. Хранение данных каталога: локальный JSON/SQLite для MVP; в будущем — внешняя БД. 3. Требования к функционалу 3.1. Ядро калькулятора (src/core/calculator) Должны быть чистые функции без побочных эффектов: calculateRoomMetrics(room) → периметр, площадь стен, площадь проёмов, полезная площадь. calculatePatternLength(height, rapport) → длина полотна с учётом раппорта. calculateRollsNeeded(params) → количество полотен, рулонов, стоимость, запас. Все расчёты должны быть детерминированными и покрытыми тестами. 3.2. API (src/api) Эндпоинты: POST /api/calculate — принимает параметры комнаты и рулона, возвращает расчёт. GET /api/catalog — список товаров с фильтрами (ширина, раппорт, цена, наличие). POST /api/sync-catalog — загрузка каталога из CSV/JSON или триггер синхронизации. Валидация входных данных обязательна (диапазоны, типы, обязательность полей). 3.3. Каталог (src/catalog) Поддержка двух режимов: Импорт из файла: CSV/JSON с жёсткой схемой (см. ниже). Синхронизация: скрипт, который обновляет локальные данные из внешнего источника. Поиск и фильтрация по: ширине рулона, раппорту, цене, наличию, коллекции, цвету (текстовый поиск). 4. Модель данных каталога (JSON-пример) json Переносить Свернуть Копировать [ { "article": "OB-12345", "name": "Обои Коллекция Весна", "collection": "Весна 2026", "roll_width_m": 1.06, "roll_length_m": 10, "rapport_m": 0.64, "price_rub": 2500, "stock_qty": 42, "join_type": "смещённая", "color": "бежевый", "material": "флизелин" } ] Для CSV — строго фиксированные заголовки колонок, совпадающие с JSON-ключами. 5. Формулы и правила расчёта (для реализации в коде) Периметр: P=2⋅(длина+ширина). Площадь стен: S стен =P⋅высота. Площадь проёмов: S проёмов =∑(ширина⋅высота) по всем окнам и дверям. Полезная площадь: S полезная =S стен −S проёмов . Длина полотна: L полотно =высота+(раппорт⋅n), где n — минимальное целое, при котором стык совпадает. Количество полотен: N полотен =⌈S полезная /(L полотно ⋅ширина)⌉. Количество рулонов: N рулонов =⌈(N полотен ⋅L полотно ⋅ширина)/(ширина⋅длина)⌉, округление вверх. Стоимость: Стоимость=N рулонов ⋅цена. Запас: коэффициент (по умолчанию 1.10, диапазон 1.05–1.20). Округления выполнять через Math.ceil (или аналог) и проверять на граничных значениях. 6. Требования к качеству и тестированию Все формулы вынести в отдельные функции и покрыть юнит‑тестами. Добавить негативные тесты: отрицательные значения, нули, слишком большие числа. Для API — тесты валидации и проверки кодов ответов. В CI SourceCraft: lint → unit-тесты → сборка образа → (опционально) интеграционные тесты. Примеры тестовых кейсов: Комната 4×5 м, высота 2.7 м, 1 окно 1.5×1.2 м, 1 дверь 0.9×2.1 м. Рулон 1.06×10 м, раппорт 0.64 м, цена 2500 руб. Ожидаемый результат: количество рулонов и стоимость (с запасом 10 %). | 25 | 113 дней назад | 0 | ||||
| 13465–162534983Опустился на 4983 места за 30 дней | Дашборд производителей и объемов производства | 25 | 166 дней назад | 0 | HTML | |||
| 13465–16253 | 25 | 123 дня назад | 0 | |||||
| 13465–16253 | Albion Online network analyzer | 25 | 290 дней назад | 0 | ||||
| 13465–16253 | Тестовый репозиторий | 25 | 290 дней назад | 0 | ||||
| 13465–16253 | Тестовый репозиторий | 25 | 44 дня назад | 0 | ||||
| 13465–162533248Опустился на 3248 мест за 30 дней | Демонстрационный лендинг для онбординга в SourceCraft | 25 | 270 дней назад | 0 | HTML | |||
| 13465–162534983Опустился на 4983 места за 30 дней | 25 | 188 дней назад | 0 | Python | ||||
| 13465–16253 | 25 | 369 дней назад | 0 | |||||
| 13465–1625310672Опустился на 10672 места за 30 дней | 25 | 47 дней назад | 0 | Python | ||||
| 13465–16253 | 25 | 207 дней назад | 0 | |||||
| 13465–16253 | 25 | 385 дней назад | 0 | |||||
| 13465–16253 | 25 | 359 дней назад | 0 | |||||
| 13465–162539461Опустился на 9461 место за 30 дней | Телеграмм-бот для генерации случайных чисел | 25 | 101 день назад | 0 | JavaScript | |||
| 13465–162533248Опустился на 3248 мест за 30 дней | 25 | 325 дней назад | 0 |
- 13465–16253roman-kuzmenko96/test25JavaScript528 дней назад0лайков
- 13465–16253roman-lab/roman-lab25
Лаборатория кода: учебные проекты, автоматизация рутины, учебные материалы по программированию и наброски на Python
131 день назад0лайков - 13465–16253romanoffbahdan/name-coderun2525338 дней назад0лайков
- 13465–16253romanova211080/proekty25
Тестовый репозиторий
HTML260 дней назад0лайков - 13465–16253romaobraztzov/safe25
/
398 дней назад0лайков - 13465–16253romm1-rut/vpochte25
Тестовый+репозиторий
141 день назад0лайков - 13465–16253rosi-kanal2017/happy-tree25338 дней назад0лайков
- 13465–16253rossomaaha/cherep25
Тестовый репозиторий
HTML324 дня назад0лайков - 13465–16253rostislav-kassikhin/pestraia-kompaniia25297 дней назад0лайков
- 13465–16253roz4lina1/first-rep25
for cpp
284 дня назад0лайков - 13465–16253roza-1040/kalkuliator-oboev25
1. Структура репозитория Рекомендуемая структура папок: text Переносить Свернуть Копировать /src /core /calculator # чистая логика расчётов (без UI и API) - calculate.ts - types.ts - utils.ts /api - handler.ts # основной хендлер (FastAPI/Express/etc.) - routes.ts # роуты - validators.ts # валидация запросов /catalog - sync.ts # импорт/синхронизация каталога (CSV/API) - search.ts # поиск и фильтрация /tests - calculator.spec.ts - api.spec.ts /docs - architecture.md - api-spec.md - data-model.md /data - sample-catalog.json - sample-catalog.csv /scripts - sync-catalog.sh # скрипт синхронизации /docker - Dockerfile - docker-compose.yml .gitignore README.md package.json / pyproject.toml 2. Стек технологий (рекомендуемый) Язык: TypeScript (Node.js) или Python (FastAPI) — выбрать один. HTTP: Express (TS) или FastAPI (Py). Валидация: Zod (TS) / Pydantic (Py). Тестирование: Vitest (TS) / pytest (Py), плюс unit-тесты для формул. CI/CD: встроенный в SourceCraft пайплайн (lint → test → build → deploy). Контейнеризация: Docker. Хранение данных каталога: локальный JSON/SQLite для MVP; в будущем — внешняя БД. 3. Требования к функционалу 3.1. Ядро калькулятора (src/core/calculator) Должны быть чистые функции без побочных эффектов: calculateRoomMetrics(room) → периметр, площадь стен, площадь проёмов, полезная площадь. calculatePatternLength(height, rapport) → длина полотна с учётом раппорта. calculateRollsNeeded(params) → количество полотен, рулонов, стоимость, запас. Все расчёты должны быть детерминированными и покрытыми тестами. 3.2. API (src/api) Эндпоинты: POST /api/calculate — принимает параметры комнаты и рулона, возвращает расчёт. GET /api/catalog — список товаров с фильтрами (ширина, раппорт, цена, наличие). POST /api/sync-catalog — загрузка каталога из CSV/JSON или триггер синхронизации. Валидация входных данных обязательна (диапазоны, типы, обязательность полей). 3.3. Каталог (src/catalog) Поддержка двух режимов: Импорт из файла: CSV/JSON с жёсткой схемой (см. ниже). Синхронизация: скрипт, который обновляет локальные данные из внешнего источника. Поиск и фильтрация по: ширине рулона, раппорту, цене, наличию, коллекции, цвету (текстовый поиск). 4. Модель данных каталога (JSON-пример) json Переносить Свернуть Копировать [ { "article": "OB-12345", "name": "Обои Коллекция Весна", "collection": "Весна 2026", "roll_width_m": 1.06, "roll_length_m": 10, "rapport_m": 0.64, "price_rub": 2500, "stock_qty": 42, "join_type": "смещённая", "color": "бежевый", "material": "флизелин" } ] Для CSV — строго фиксированные заголовки колонок, совпадающие с JSON-ключами. 5. Формулы и правила расчёта (для реализации в коде) Периметр: P=2⋅(длина+ширина). Площадь стен: S стен =P⋅высота. Площадь проёмов: S проёмов =∑(ширина⋅высота) по всем окнам и дверям. Полезная площадь: S полезная =S стен −S проёмов . Длина полотна: L полотно =высота+(раппорт⋅n), где n — минимальное целое, при котором стык совпадает. Количество полотен: N полотен =⌈S полезная /(L полотно ⋅ширина)⌉. Количество рулонов: N рулонов =⌈(N полотен ⋅L полотно ⋅ширина)/(ширина⋅длина)⌉, округление вверх. Стоимость: Стоимость=N рулонов ⋅цена. Запас: коэффициент (по умолчанию 1.10, диапазон 1.05–1.20). Округления выполнять через Math.ceil (или аналог) и проверять на граничных значениях. 6. Требования к качеству и тестированию Все формулы вынести в отдельные функции и покрыть юнит‑тестами. Добавить негативные тесты: отрицательные значения, нули, слишком большие числа. Для API — тесты валидации и проверки кодов ответов. В CI SourceCraft: lint → unit-тесты → сборка образа → (опционально) интеграционные тесты. Примеры тестовых кейсов: Комната 4×5 м, высота 2.7 м, 1 окно 1.5×1.2 м, 1 дверь 0.9×2.1 м. Рулон 1.06×10 м, раппорт 0.64 м, цена 2500 руб. Ожидаемый результат: количество рулонов и стоимость (с запасом 10 %).
113 дней назад0лайков - 13465–16253rozzzzdi/nambe-325
Дашборд производителей и объемов производства
HTML166 дней назад0лайков - 13465–16253rpmedia/resourses25123 дня назад0лайков
- 13465–16253rpornis/albion-network25
Albion Online network analyzer
290 дней назад0лайков - 13465–16253rpornis/ruslan25
Тестовый репозиторий
290 дней назад0лайков - 13465–16253rreyzov/you25
Тестовый репозиторий
44 дня назад0лайков - 13465–16253rstick-07/landing-page-demo25
Демонстрационный лендинг для онбординга в SourceCraft
HTML270 дней назад0лайков - 13465–16253ru-loba/voronezh-lobanov25Python188 дней назад0лайков
- 13465–16253rudnev-e-y/jjabrams25369 дней назад0лайков
- 13465–16253rumandemilhanov/ania-lysaia25Python47 дней назад0лайков
- 13465–16253runteos/rom25207 дней назад0лайков
- 13465–16253ruralsurfer/tsi-ii-puteshestvennik25385 дней назад0лайков
- 13465–16253rusanov-nikolashka/proizvolnoe-imia25359 дней назад0лайков
- 13465–16253ruslan-sfs2/random-num-bot25
Телеграмм-бот для генерации случайных чисел
JavaScript101 день назад0лайков - 13465–16253ruslanbayazv/git-quest-day-0125325 дней назад0лайков
15 601–15 625 из 21 913