Рейтинг здоровья открытых репозиториев
Оценка от 0 до 100 по данным SourceCraft.Оценка от 0 до 100 по данным SourceCraft: насколько проект жив, документирован и отзывчив к пользователям.
4 категории из 6, пересчёт раз в сутки. Как считается
Оценка по открытым данным: 4 категории из 6, пересчёт раз в сутки, лайки на место не влияют. Как считается
| Сравнить | Место | Репозиторий | Оценка | 90 дней | Категории | Последний коммит | Лайки | Язык |
|---|---|---|---|---|---|---|---|---|
| 13479–16269 | for cpp | 25 | 282 дня назад | 0 | ||||
| 13479–16269 | 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 | 112 дней назад | 0 | ||||
| 13479–162694997Опустился на 4997 мест за 30 дней | Дашборд производителей и объемов производства | 25 | 164 дня назад | 0 | HTML | |||
| 13479–16269 | 25 | 122 дня назад | 0 | |||||
| 13479–16269 | Albion Online network analyzer | 25 | 288 дней назад | 0 | ||||
| 13479–16269 | Тестовый репозиторий | 25 | 288 дней назад | 0 | ||||
| 13479–16269 | Тестовый репозиторий | 25 | 43 дня назад | 0 | ||||
| 13479–162693262Опустился на 3262 места за 30 дней | Демонстрационный лендинг для онбординга в SourceCraft | 25 | 269 дней назад | 0 | HTML | |||
| 13479–162694997Опустился на 4997 мест за 30 дней | 25 | 187 дней назад | 0 | Python | ||||
| 13479–16269 | 25 | 368 дней назад | 0 | |||||
| 13479–1626910686Опустился на 10686 мест за 30 дней | 25 | 46 дней назад | 0 | Python | ||||
| 13479–16269 | 25 | 206 дней назад | 0 | |||||
| 13479–16269 | 25 | 384 дня назад | 0 | |||||
| 13479–16269 | 25 | 358 дней назад | 0 | |||||
| 13479–162699475Опустился на 9475 мест за 30 дней | Телеграмм-бот для генерации случайных чисел | 25 | 100 дней назад | 0 | JavaScript | |||
| 13479–162693262Опустился на 3262 места за 30 дней | 25 | 324 дня назад | 0 | |||||
| 13479–162693262Опустился на 3262 места за 30 дней | 25 | 338 дней назад | 0 | |||||
| 13479–16269 | 3D MMO игра похожая на Rust с системой крафта на 100 человек и админкой для Яндекс Игр | 25 | 200 дней назад | 0 | ||||
| 13479–16269 | 25 | 151 день назад | 0 | |||||
| 13479–16269 | кце | 25 | 152 дня назад | 0 | ||||
| 13479–162693262Опустился на 3262 места за 30 дней | 25 | 321 день назад | 0 | |||||
| 13479–162693262Опустился на 3262 места за 30 дней | 25 | 337 дней назад | 0 | |||||
| 13479–162693262Опустился на 3262 места за 30 дней | Telegram bot for get-color-cloud service | 25 | 300 дней назад | 0 | Python | |||
| 13479–162693262Опустился на 3262 места за 30 дней | Новогодний Git Quest от SourceCraft | 25 | 320 дней назад | 0 | ||||
| 13479–162693263Опустился на 3263 места за 30 дней | 25 | 592 дня назад | 0 |
- 13479–16269roz4lina1/first-rep25
for cpp
282 дня назад0лайков - 13479–16269roza-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 %).
112 дней назад0лайков - 13479–16269rozzzzdi/nambe-325
Дашборд производителей и объемов производства
HTML164 дня назад0лайков - 13479–16269rpmedia/resourses25122 дня назад0лайков
- 13479–16269rpornis/albion-network25
Albion Online network analyzer
288 дней назад0лайков - 13479–16269rpornis/ruslan25
Тестовый репозиторий
288 дней назад0лайков - 13479–16269rreyzov/you25
Тестовый репозиторий
43 дня назад0лайков - 13479–16269rstick-07/landing-page-demo25
Демонстрационный лендинг для онбординга в SourceCraft
HTML269 дней назад0лайков - 13479–16269ru-loba/voronezh-lobanov25Python187 дней назад0лайков
- 13479–16269rudnev-e-y/jjabrams25368 дней назад0лайков
- 13479–16269rumandemilhanov/ania-lysaia25Python46 дней назад0лайков
- 13479–16269runteos/rom25206 дней назад0лайков
- 13479–16269ruralsurfer/tsi-ii-puteshestvennik25384 дня назад0лайков
- 13479–16269rusanov-nikolashka/proizvolnoe-imia25358 дней назад0лайков
- 13479–16269ruslan-sfs2/random-num-bot25
Телеграмм-бот для генерации случайных чисел
JavaScript100 дней назад0лайков - 13479–16269ruslanbayazv/git-quest-day-0125324 дня назад0лайков
- 13479–16269russellsserenity/name-coderun2525338 дней назад0лайков
- 13479–16269rust-like-game/rust-like-mmo-game25
3D MMO игра похожая на Rust с системой крафта на 100 человек и админкой для Яндекс Игр
200 дней назад0лайков - 13479–16269ryabyhzhenya/proekt125151 день назад0лайков
- 13479–16269ryabyhzhenya/ts25
кце
152 дня назад0лайков - 13479–16269ryazanovavk/elka25321 день назад0лайков
- 13479–16269rychyrych/tree25337 дней назад0лайков
- 13479–16269s-evg13/get-color-cloud-bot25
Telegram bot for get-color-cloud service
Python300 дней назад0лайков - 13479–16269s-evg13/newyar-git-quest25
Новогодний Git Quest от SourceCraft
320 дней назад0лайков - 13479–16269s-evg13/nexus-inst25592 дня назад0лайков
15 626–15 650 из 21 929