"Ретроспектива квестов" - ивент стримера Zhem по прохождению игр в жанре квест. Главная цель ивента - зачеркнуть все клетки на поле бинго, каждая из которых представляет собой тему. Клетки зачеркиваются прохождением игр соответсвующего жанра.
- Десктопное приложение с локальной базой данных и локальным сервером
- Настраиваемый размер поля
- Клетка имеет три агрегатных состояния: скрытая (не видно, что там за тема и цвет клетки), открытая (видно тему и цвет), вычеркнутая (то есть пункт выполнен)
- Настройка количества открытых и закрытых клеток на поле в начале тура
- Каждой клетке на поле соответствует тема из общего пула, темы не должны повторяться. То есть на поле не должно быть одновременно одинаковых тем ни в открытую, ни в закрытую, с учетом вычеркнутых
- Состояние любой клетки можно во время прохождения ивента менять, не только открыть закрытую и вычеркнуть выполненную, но и сделать ее снова невычеркнутой или закрытой
- Клетки делятся на белые и золотые. Когда клетка открыта, цвет видно, когда скрыта – не видно. Перед началом тура должно быть можно настроить количество белых и золотых клеток
- В начале тура, когда генерируется поле, все темы рандомятся из общего пула, и открытые, и закрытые. Также рандомится расположение открытых и закрытых клеток, белых и золотых клеток
- Если открытая клетка скрывается снова, тема в ней должна рандомиться на другую из общего пула тем, с учетом, что на поле не должно быть повторов. Тема, которая при этом удаляется, возвращается в общий пул и может снова выпасть потом, если снова будет замена темы какой-либо клетки.
- Система бэкапов базы данных
- Система взаимодействия с клетками на поле: окрытие меню при нажатии на клетку с возожностью поменять цвет, зачекрунть/вычеркнуть клетку, открыть/закрыть. Необратимые действия (открыть, закрыть) – через окно с подтверждением, те, которые можно исправить без ущерба для игрового процесса (перекрасить, вычеркнуть) – без подтверждения.
- Редактура списка тем (единым списком в текстовом окне и по одной в соответсвующей форме)
- Рандом темы на клетке с учетом требования уникальности всех тем на поле
- Рандомайзер клеток (подсвечивается выбранная клетка): из всех на поле; из всех открытых; всех закрытых; всех открытых золотых/белых; всех зачеркнутых
- Система заметок для каждой клетки (ввод в меню взаимодействия с клеткой, отображение в popup-облаке при наведении курсора на клетку)
- Трекинг задействованных в ивенте игр (ввод названия игры и выбор статуса "пройденно / не пройдено")
- Система жизней (+ жизнь / - жизнь)
Логи ивента Демонстрация работы приложения
- "electron": "^29.0.1",
- "electron-packager": "^17.1.2",
- "nodemon": "^3.1.0"
- "cron": "^3.1.7",
- "express": "^4.19.1",
- "fs-extra": "^11.2.0",
- "hbs": "^4.2.0",
- "nedb": "^1.8.0"
- views - папка с представлениями handlebars
- public - статика (js/images/fonts/css)
- db - файлы локальной документоориентированной базы данных
- backups - файл бэкапов базы данных
- main.js - файл запуска electron процессов
- server.js - файл запуска сервера express