Трекер коллекции духов (Sprites) Fortnite: отмечаешь, какие у тебя есть, делишься ссылкой с друзьями и смотришь, чем с кем можно обменяться.
Сайт: https://alex-ppx.github.io/fortnite-sprites/
- Все 117 духов: названия, редкость, шанс выпадения, варианты
- Профили без пароля: вход по имени, на одном устройстве их может быть сколько угодно
- Отметка «есть / нет» в один клик, фильтр «Все / Есть / Нет», опциональная группировка по семейству духа
- Страница духа: крупный арт, характеристики, все варианты семейства, у кого из друзей он есть
- Ссылка «Поделиться коллекцией» — вся коллекция кодируется в 20 символов прямо в URL
- Помощник по обмену: что ты можешь отдать, что получить, и равноценные пары (чем реже дроп — тем ценнее дух)
Статический сайт без бэкенда и без регистрации.
index.html— вся вёрстка, стили и логикаdata.js— 117 духов. Порядок элементов = порядок битов в коде коллекции, менять и сортировать нельзя, иначе старые ссылки друзей раскодируются неверноimg/<id>.webp— арты духов
Коллекция хранится в localStorage браузера. Обмен данными — только через ссылку:
117 позиций → 15 байт → 20 символов base64url в хвосте адреса.
python3 -m http.server 8899
# открыть http://localhost:8899Сайт полностью статический: три вещи — index.html, data.js, папка img/. Бэкенда,
базы, переменных окружения и сборки нет. Достаточно раздать эти файлы как есть.
GitHub Pages (проще всего): форкнуть репозиторий → Settings → Pages → Source: Deploy
from a branch, ветка main, папка / (root) → через минуту сайт живёт на
https://<username>.github.io/fortnite-sprites/. Файл .nojekyll уже в репозитории — не
удалять, без него Pages ломается на путях.
Любой свой сервер: положить содержимое репозитория (кроме node_modules/ и tools/)
в корень сайта. Nginx/Apache/Caddy — без конфигурации, статика. Netlify, Vercel, Cloudflare
Pages — тоже без настроек: build command пустой, publish directory — корень.
Один нюанс: ссылки «Поделиться коллекцией» содержат домен, на котором их сгенерировали. На новом домене они будут работать только после того, как код коллекции откроют на нём же (сам код в хвосте адреса — универсальный, домен в начале нужно поменять на свой).
Когда Epic добавит новых духов, дописывай их в конец data.js — тогда старые ссылки
продолжат работать. Арт кладётся в img/<id>.webp.
tools/update-sprites.js делает это автоматически (npm run check — посмотреть без
записи, npm run update — дописать и запушить), но требует установленного Chrome и
playwright-core: источник закрыт Cloudflare, поэтому скрипт ходит настоящим браузером
с видимым окном. Для деплоя он не нужен — только для обновления списка.
Код и данные — MIT: бери, меняй, деплой, никаких условий кроме сохранения копирайта. Изображения духов и названия Fortnite принадлежат Epic Games, Inc.; проект не связан с Epic Games и не одобрен ею.
Фан-проект. Не связан с Epic Games.