Рейтинг здоровья открытых репозиториев
Оценка от 0 до 100 по данным SourceCraft.Оценка от 0 до 100 по данным SourceCraft: насколько проект жив, документирован и отзывчив к пользователям.
4 категории из 6, пересчёт раз в сутки. Как считается
Оценка по открытым данным: 4 категории из 6, пересчёт раз в сутки, лайки на место не влияют. Как считается
| Сравнить | Место | Репозиторий | Оценка | 90 дней | Категории | Последний коммит | Лайки | Язык |
|---|---|---|---|---|---|---|---|---|
| 12953–13447 | Задания для практических упражнений | 26 | 295 дней назад | 0 | ||||
| 12953–134473457Опустился на 3457 мест за 30 дней | 26 | 302 дня назад | 0 | C# | ||||
| 12953–13447 | Шаблон хакатона ИИ ЧЕМП для кейса «Маскирование персональных данных» от Альфа‑Банка | 26 | 237 дней назад | 0 | ||||
| 12953–13447 | Шаблон хакатона ИИ ЧЕМП для кейса «Video RAG для онлайн-кинотеатра» от Окко | 26 | 237 дней назад | 0 | ||||
| 12953–13447 | Шаблон хакатона ИИ ЧЕМП для кейса «Матчинг номеров отелей» от Т‑Банка | 26 | 237 дней назад | 0 | ||||
| 12953–13447 | Шаблон хакатона ИИ ЧЕМП для кейса «3D-оптимизатор укладки паллет» от X5 | 26 | 237 дней назад | 0 | ||||
| 12953–13447 | Шаблон хакатона ИИ ЧЕМП для кейса «Пользовательский ИИ-навык» от SourceCraft (Яндекс) | 26 | 237 дней назад | 0 | ||||
| 12953–13447 | 26 | 16 дней назад | 0 | |||||
| 12953–134473457Опустился на 3457 мест за 30 дней | 26 | 408 дней назад | 0 | HTML | ||||
| 12953–134472736Опустился на 2736 мест за 30 дней | srtj | 26 | 465 дней назад | 0 | Python | |||
| 12953–13447 | 26 | 240 дней назад | 0 | |||||
| 12953–13447 | 26 | 16 дней назад | 0 | |||||
| 12953–13447 | 26 | мало данных | 16 дней назад | 0 | HTML | |||
| 12953–134479437Опустился на 9437 мест за 30 дней | Веб-приложение для отказа от курения с системой физической ответственности: за каждую сигарету пользователь выполняет отжимания, количество которых растет каждую неделю. Включает личный кабинет, статистику, настройки и подписку. | 26 | 55 дней назад | 0 | TypeScript | |||
| 12953–134473457Опустился на 3457 мест за 30 дней | 26 | 408 дней назад | 0 | HTML | ||||
| 12953–134474728Опустился на 4728 мест за 30 дней | 26 | 577 дней назад | 0 | JavaScript | ||||
| 12953–134473457Опустился на 3457 мест за 30 дней | import asyncio from datetime import datetime, date from aiogram import Bot, Dispatcher, F from aiogram.types import ( Message, CallbackQuery, InlineKeyboardMarkup, InlineKeyboardButton ) # ================== НАСТРОЙКИ ================== BOT_TOKEN = "PASTE_YOUR_BOT_TOKEN" WORK_CHAT_ID = -1001111111111 # рабочий чат SUPERVISOR_ID = 222222222 # супервайзер CONTROL_TIMES = { "morning": "09:00", "day": "12:30", "evening": "17:00" } TERRITORIES = [ "Дмитров", "Долгопрудный", "Зеленоград", "Клин", "Митино", "Солнечногорск" ] # ================== ХРАНИЛИЩЕ (IN-MEMORY) ================== users = {} # user_id: {fio, territory} reports = {} # user_id: {date: {morning, day, evening}} discipline = {} # user_id: {late, missed} def today(): return date.today().isoformat() # ================== КНОПКИ ================== def territory_kb(): return InlineKeyboardMarkup( inline_keyboard=[ [InlineKeyboardButton(text=t, callback_data=f"territory:{t}")] for t in TERRITORIES ] ) def report_kb(): return InlineKeyboardMarkup( inline_keyboard=[ [InlineKeyboardButton(text="🌅 Утро", callback_data="report:morning")], [InlineKeyboardButton(text="🕧 День", callback_data="report:day")], [InlineKeyboardButton(text="🌙 Вечер", callback_data="report:evening")] ] ) # ================== BOT ================== bot = Bot(token=BOT_TOKEN) dp = Dispatcher() # ================== HANDLERS ================== @dp.message(F.text == "/start") async def start(msg: Message): await msg.answer( "👋 Добро пожаловать!\nВыберите территорию:", reply_markup=territory_kb() ) @dp.callback_query(F.data.startswith("territory:")) async def set_territory(cb: CallbackQuery): territory = cb.data.split(":")[1] users[cb.from_user.id] = { "fio": cb.from_user.full_name, "territory": territory } await cb.message.answer( f"📍 Территория закреплена: {territory}\n\n" f"Выберите тип отчета:", reply_markup=report_kb() ) await cb.answer() @dp.callback_query(F.data.startswith("report:")) async def submit_report(cb: CallbackQuery): report_type = cb.data.split(":")[1] uid = cb.from_user.id reports.setdefault(uid, {}).setdefault(today(), {}) reports[uid][today()][report_type] = True await cb.message.answer( f"✅ Отчет «{report_type.upper()}» принят" ) await bot.send_message( WORK_CHAT_ID, f"📊 Отчет сдан\n" f"👤 {users[uid]['fio']}\n" f"📍 {users[uid]['territory']}\n" f"🕘 Тип: {report_type}" ) await cb.answer() # ================== SCHEDULER ================== async def check_reports(): now = datetime.now().strftime("%H:%M") for report_type, control_time in CONTROL_TIMES.items(): if now == control_time: for uid, user in users.items(): user_reports = reports.get(uid, {}).get(today(), {}) if not user_reports.get(report_type): # личка ТП await bot.send_message( uid, f"❗ ВНИМАНИЕ\n\n" f"{user['fio']}, отчет НЕ СДАН\n" f"Тип: {report_type.upper()}\n" f"📍 Территория: {user['territory']}" ) # рабочий чат await bot.send_message( WORK_CHAT_ID, f"⏰ Контроль отчетов\n" f"❌ {user['fio']} — {user['territory']}\n" f"Отчет: {report_type.upper()}" ) # дисциплина discipline.setdefault(uid, {"late": 0, "missed": 0}) discipline[uid]["missed"] += 1 # эскалация await bot.send_message( SUPERVISOR_ID, f"🚨 ЭСКАЛАЦИЯ\n\n" f"ТП не сдал отчет:\n" f"{user['fio']} — {user['territory']}\n" f"Тип: {report_type.upper()}" ) async def scheduler(): while True: await check_reports() await asyncio.sleep(60) # ================== START ================== async def main(): asyncio.create_task(scheduler()) await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main()) | 26 | 302 дня назад | 0 | Python | |||
| 12953–13447 | 26 | мало данных | 16 дней назад | 0 | HTML | |||
| 12953–13447 | Создание лендинга с использованием современных технологий искусственного интеллекта | 26 | 32 дня назад | 0 | HTML | |||
| 12953–134473458Опустился на 3458 мест за 30 дней | Supercharge your workflow automation with this curated collection of n8n templates! Instantly connect your favorite apps-like Gmail, Telegram, Google Drive, Slack, and more-with ready-to-use, AI-powered automations. Save time, boost productivity, and unlock the true potential of n8n in just a few clicks. | 26 | 507 дней назад | 0 | ||||
| 12953–134473457Опустился на 3457 мест за 30 дней | 26 | 315 дней назад | 0 | |||||
| 12953–134473457Опустился на 3457 мест за 30 дней | 26 | 322 дня назад | 0 | |||||
| 12953–134473457Опустился на 3457 мест за 30 дней | 26 | 315 дней назад | 0 | |||||
| 12953–134474524Поднялся на 4524 места за 30 дней | Современная игра в стиле тетриса с обновленной графикой на движке Unity для мобильных устройств | 26 | 312 дней назад | 0 | C# | |||
| 12953–13447 | 26 | мало данных | 16 дней назад | 0 | C# |
- 12953–13447software-development-tools/practice26
Задания для практических упражнений
- 12953–13447somerset917/igr26
- 12953–13447sourcecraft/ai-champ-spring-26-alpha26
Шаблон хакатона ИИ ЧЕМП для кейса «Маскирование персональных данных» от Альфа‑Банка
- 12953–13447sourcecraft/ai-champ-spring-26-okko26
Шаблон хакатона ИИ ЧЕМП для кейса «Video RAG для онлайн-кинотеатра» от Окко
- 12953–13447sourcecraft/ai-champ-spring-26-tbank26
Шаблон хакатона ИИ ЧЕМП для кейса «Матчинг номеров отелей» от Т‑Банка
- 12953–13447sourcecraft/ai-champ-spring-26-x526
Шаблон хакатона ИИ ЧЕМП для кейса «3D-оптимизатор укладки паллет» от X5
- 12953–13447sourcecraft/ai-champ-spring-26-yandex26
Шаблон хакатона ИИ ЧЕМП для кейса «Пользовательский ИИ-навык» от SourceCraft (Яндекс)
- 12953–13447sr-close/app26
- 12953–13447st-kraynov/docker26
- 12953–13447stepanovanaya/rasspisanie26
srtj
- 12953–13447stepanovnn-yandexlyceum-ru/krutptoject26
- 12953–13447storie/su26
- 12953–13447sudarikovalexey/vibe-projects26
- 12953–13447svconsult2015/quit-and-push26
Веб-приложение для отказа от курения с системой физической ответственности: за каждую сигарету пользователь выполняет отжимания, количество которых растет каждую неделю. Включает личный кабинет, статистику, настройки и подписку.
- 12953–13447svmikhajlo-mts-ru/neuroscale-serverless26
- 12953–13447sziuzev/sbz26
- 12953–13447taboo1993/ap-mo-sever-426
import asyncio from datetime import datetime, date from aiogram import Bot, Dispatcher, F from aiogram.types import ( Message, CallbackQuery, InlineKeyboardMarkup, InlineKeyboardButton ) # ================== НАСТРОЙКИ ================== BOT_TOKEN = "PASTE_YOUR_BOT_TOKEN" WORK_CHAT_ID = -1001111111111 # рабочий чат SUPERVISOR_ID = 222222222 # супервайзер CONTROL_TIMES = { "morning": "09:00", "day": "12:30", "evening": "17:00" } TERRITORIES = [ "Дмитров", "Долгопрудный", "Зеленоград", "Клин", "Митино", "Солнечногорск" ] # ================== ХРАНИЛИЩЕ (IN-MEMORY) ================== users = {} # user_id: {fio, territory} reports = {} # user_id: {date: {morning, day, evening}} discipline = {} # user_id: {late, missed} def today(): return date.today().isoformat() # ================== КНОПКИ ================== def territory_kb(): return InlineKeyboardMarkup( inline_keyboard=[ [InlineKeyboardButton(text=t, callback_data=f"territory:{t}")] for t in TERRITORIES ] ) def report_kb(): return InlineKeyboardMarkup( inline_keyboard=[ [InlineKeyboardButton(text="🌅 Утро", callback_data="report:morning")], [InlineKeyboardButton(text="🕧 День", callback_data="report:day")], [InlineKeyboardButton(text="🌙 Вечер", callback_data="report:evening")] ] ) # ================== BOT ================== bot = Bot(token=BOT_TOKEN) dp = Dispatcher() # ================== HANDLERS ================== @dp.message(F.text == "/start") async def start(msg: Message): await msg.answer( "👋 Добро пожаловать!\nВыберите территорию:", reply_markup=territory_kb() ) @dp.callback_query(F.data.startswith("territory:")) async def set_territory(cb: CallbackQuery): territory = cb.data.split(":")[1] users[cb.from_user.id] = { "fio": cb.from_user.full_name, "territory": territory } await cb.message.answer( f"📍 Территория закреплена: {territory}\n\n" f"Выберите тип отчета:", reply_markup=report_kb() ) await cb.answer() @dp.callback_query(F.data.startswith("report:")) async def submit_report(cb: CallbackQuery): report_type = cb.data.split(":")[1] uid = cb.from_user.id reports.setdefault(uid, {}).setdefault(today(), {}) reports[uid][today()][report_type] = True await cb.message.answer( f"✅ Отчет «{report_type.upper()}» принят" ) await bot.send_message( WORK_CHAT_ID, f"📊 Отчет сдан\n" f"👤 {users[uid]['fio']}\n" f"📍 {users[uid]['territory']}\n" f"🕘 Тип: {report_type}" ) await cb.answer() # ================== SCHEDULER ================== async def check_reports(): now = datetime.now().strftime("%H:%M") for report_type, control_time in CONTROL_TIMES.items(): if now == control_time: for uid, user in users.items(): user_reports = reports.get(uid, {}).get(today(), {}) if not user_reports.get(report_type): # личка ТП await bot.send_message( uid, f"❗ ВНИМАНИЕ\n\n" f"{user['fio']}, отчет НЕ СДАН\n" f"Тип: {report_type.upper()}\n" f"📍 Территория: {user['territory']}" ) # рабочий чат await bot.send_message( WORK_CHAT_ID, f"⏰ Контроль отчетов\n" f"❌ {user['fio']} — {user['territory']}\n" f"Отчет: {report_type.upper()}" ) # дисциплина discipline.setdefault(uid, {"late": 0, "missed": 0}) discipline[uid]["missed"] += 1 # эскалация await bot.send_message( SUPERVISOR_ID, f"🚨 ЭСКАЛАЦИЯ\n\n" f"ТП не сдал отчет:\n" f"{user['fio']} — {user['territory']}\n" f"Тип: {report_type.upper()}" ) async def scheduler(): while True: await check_reports() await asyncio.sleep(60) # ================== START ================== async def main(): asyncio.create_task(scheduler()) await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main())
- 12953–13447tantana-benua/trainer1234test26
- 12953–13447tayablumm/lab4informatika26
Создание лендинга с использованием современных технологий искусственного интеллекта
- 12953–13447tchiv63/awesome-n8n-templates26
Supercharge your workflow automation with this curated collection of n8n templates! Instantly connect your favorite apps-like Gmail, Telegram, Google Drive, Slack, and more-with ready-to-use, AI-powered automations. Save time, boost productivity, and unlock the true potential of n8n in just a few clicks.
- 12953–13447tdanil776/day-1026
- 12953–13447terekhovetvos/git-day-0526
- 12953–13447terekhovetvos/git-day-1026
- 12953–13447tetris-project/modern-tetris-unity26
Современная игра в стиле тетриса с обновленной графикой на движке Unity для мобильных устройств
- 12953–13447teu19628-gmail-com/chis26
13 351–13 375 из 21 903