2.7 KiB
Showcase Automation Scripts
This directory contains local-only automation for regenerating public showcase assets.
Currently implemented:
capture-screenshots.js: captures the reusable screenshot set intoassets/screenshots/.
Planned later:
- a video/demo recorder script can be added here with the same environment conventions.
Screenshot Prerequisites
The script does not start any Qlockify services. Start them before running it:
- frontend:
http://localhost:5173 - backend:
http://localhost:8000 - database/Redis/Celery as required by your normal local app setup
Install Playwright for the script:
cd scripts
npm install
If Playwright cannot find a browser, either install Chromium:
npx playwright install chromium
or point the script to your installed Chrome:
$env:QLOCKIFY_CHROME_PATH="C:\Program Files\Google\Chrome\Application\chrome.exe"
Capture Public And App Screenshots
From the showcase repo root:
node scripts/capture-screenshots.js
Or from the scripts directory:
npm run screenshots
By default, the script deletes old .png files from assets/screenshots/ first. Disable that with:
$env:QLOCKIFY_CLEAN_SCREENSHOTS="0"
node scripts/capture-screenshots.js
Capture Admin Screenshots
Admin screenshots are optional. When enabled, the script creates/updates a local superuser fixture and logs into Django admin.
$env:QLOCKIFY_CAPTURE_ADMIN="1"
$env:QLOCKIFY_ADMIN_USERNAME="09900000000"
$env:QLOCKIFY_ADMIN_PASSWORD="QlockifyLocalAdmin!2026"
node scripts/capture-screenshots.js
If demo creation is rate-limited, the script falls back to the latest active local demo environment through Django shell. For that fallback and admin fixture setup, it needs the backend repo path:
$env:QLOCKIFY_BACKEND_REPO="D:\Programing\Scripts\Qlockify\qlockify-backend"
Environment Variables
QLOCKIFY_FRONTEND_URL: frontend URL, defaulthttp://localhost:5173.QLOCKIFY_BACKEND_URL: backend URL, defaulthttp://localhost:8000.QLOCKIFY_BACKEND_REPO: local backend repo path, default../qlockify-backend.QLOCKIFY_DEMO_TOKEN_FILE: optional JSON file withaccess,refresh,workspace_id, andexpires_at.QLOCKIFY_CAPTURE_ADMIN: set1to capture Django admin screenshots.QLOCKIFY_ADMIN_USERNAME: local admin login mobile.QLOCKIFY_ADMIN_PASSWORD: local admin password.QLOCKIFY_ADMIN_USER_ID: optional user id for the admin user-detail screenshot; defaults to the demo owner when available.QLOCKIFY_CHROME_PATHorCHROME_EXECUTABLE: optional installed Chrome path.QLOCKIFY_CLEAN_SCREENSHOTS: set0to keep existing PNG files before capture.