尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Навчальна онлайн-гра Факультету бізнес-технологій та економіки. Гравець вводить ПІБ, бачить 10 карток п'яти кафедр, відкриває будь-яку, обирає одну з трьох відповідей і одразу бачить пояснення. Після 10 карток показуються підсумок і рейтинг.
Сайт: https://business-lab-zp.vercel.app/ (Vercel, оновлюється сам після кожного push у main). Стара адреса https://yarik-kolesnikov.github.io/Online-Game-Quantum/ автоматично перенаправляє на нову.
index.html у браузері (подвійний клік).index.html → Open with Live Server.index.html розмітка: старт, поле карток, вікно питання, результат і рейтинг
css/style.css стилі; світла тема за замовчуванням, темна через перемикач у хедері
js/config.js простір імен BL і функція додавання питань
js/questions/*.js банк питань: 1 файл = 1 кафедра, по 10 питань (усього 50)
js/app.js логіка гри: картки, таймер, підрахунок, рейтинг, тема, біжучий рядок кафедр
| Файл | Код | Кафедра | Колір |
|---|---|---|---|
| marketing-digital.js | mkt | МЦТ, Маркетинг та цифрові технології | синій #0253ce |
| management-administration.js | mgt | МА, Менеджмент та адміністрування | малиново-рожевий #f21e6e |
| accounting-finance.js | acc | ОФ, Облік та фінанси | зелений #129f43 |
| business-management.js | bus | БУ, Бізнес та управління | помаранчевий #fd7614 |
| economics-customs.js | econ | ЕМС, Економіка та митна справа | жовтий #fccb15 |
Кафедра «Маркетинг та цифрові технології» утворена з колишніх кафедр «Маркетинг і логістика» та «Цифрові технології в бізнесі та економіці».
Назви, абревіатури, описи й кольори кафедр задаються в js/app.js (об'єкт DEPTS), звідти ж береться біжучий рядок кафедр у шапці. Кольори кафедр і теми лежать у css/style.css (змінні --d-*).
{
question: "Текст питання",
options: ["Варіант A", "Варіант B", "Варіант C"],
correct: 1, // 0 = A, 1 = B, 2 = C
explanation: "Пояснення після відповіді"
}
Рейтинг вибирає сховище автоматично:
localStorage, тобто окремий рейтинг для кожного браузера.Вже налаштовано: проєкт Firebase business-lab-c15c7, база Cloud Firestore (регіон eur3, план Spark), правила з firestore.rules опубліковані, ключі записані в js/firebase-config.js. Кроки нижче потрібні лише для нового проєкту.
business-lab). Google Analytics можна вимкнути.eur3 (europe-west) і режим Production mode.firestore.rules з цього репо й натисніть Publish. Ці правила дозволяють читати рейтинг і додавати нові результати, але не дозволяють змінювати чи видаляти їх із сайту.</> (Web). Дайте застосунку назву й натисніть Register app. Firebase Hosting вмикати не потрібно.firebaseConfig, який покаже Firebase, у файл js/firebase-config.js замість null:
BL.firebaseConfig = {
apiKey: "...",
authDomain: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "..."
};
main. Через 1–2 хвилини GitHub Pages оновить сайт, і під рейтингом з'явиться напис «Загальний рейтинг усіх учасників.».Ключі з firebaseConfig не секретні, у вебзастосунках вони завжди видні в браузері. Дані захищають правила з кроку 3.
Очищення рейтингу: Firebase Console → Firestore Database → колекція results → меню ⋮ → Delete collection (або видаліть окремі документи).
Ліміти безкоштовного плану (Spark): 50 000 читань і 20 000 записів на добу. Для навчальної гри цього з великим запасом достатньо.
Кнопка «Поділитися результатом» додає в текст посилання виду https://business-lab-zp.vercel.app/r?…. Telegram і Facebook показують у прев'ю цього посилання картинку з результатом гравця (ПІБ, бали, звання, час, місце, кафедри), а клік веде на гру.
api/share.py — функція Vercel (Python + Pillow): /r віддає сторінку з og:image і перенаправляє на гру, /card малює PNG 1200×630.fonts/ — шрифти для картинки (Unbounded, Manrope, JetBrains Mono, ліцензія OFL).vercel.json, requirements.txt — налаштування Vercel. Проєкт business-lab у Vercel оновлюється сам після кожного push у main.js/share.js (SHARE_SERVER); якщо залишити порожньою, ділимося просто адресою гри.Код відформатовано автоматично, тож він однаковий у всіх файлах:
.prettierrc.json: ширина рядка 100, відступ 2 пробіли);api/share.py) — Black з шириною рядка 100, перевірка — Ruff. Файл pyproject.toml у корені не створюємо: Vercel тоді бере залежності з нього замість requirements.txt, і сервер картинок лишається без Pillow;.editorconfig.Щоб відформатувати після змін:
npx prettier --write index.html css js
black -l 100 api