TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
MIMO makes printing easy. Upload your file, get a 4-digit code, and print at the nearest MIMO kiosk in seconds. No queues, no cash, complete privacy.
ProductivityHTML · TypeScriptGitHub @snowjugOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
MIMO lets students print without USB drives or queues: upload a document on the website → pay → get a 4-digit code → type it on a kiosk → collect the printout.
Two kiosks are in production; a Raspberry Pi in each one does the actual printing.
New here? Read How it works, then follow the three-day onboarding path. Deep dives: architecture.md (components, flows, data) and
design.md (conventions and reasoning).Read the full README ↗.github/ — CI/CD| Path | Purpose |
|---|---|
workflows/ci.yml | On every push and pull request: detects which folders changed and runs only the relevant checks (backend tests, customer site + admin build, kiosk build, converter and Pi syntax checks, workflow lint). Deploys nothing. |
workflows/deploy-functions.yml | Push to main touching functions/** (or manual, with an optional rollback ref): tests → builds the environment from the live function → security gate → deploys api → smoke test. Triggers are a manual opt-in. |
workflows/deploy-converter.yml | Push to main touching converter/** (or manual): Cloud Build → Cloud Run → health check |
workflows/post-deploy-smoke.yml | Runs when Vercel reports a successful production deployment and checks the public sites |
workflows/backend-image.yml | Legacy: builds the frozen backend/ Docker image (to be removed with backend/) |
scripts/functions-env.js | Builds functions/.env for a deploy and blocks missing/insecure configuration; masks secret values in logs |
scripts/secret-scan.js | Fails a pull request/push that adds a secret-looking line (CI job Secret scan); secret-scan:allow marks a false positive |
scripts/__tests__/ | Tests for both scripts: node --test .github/scripts/__tests__/*.test.js |
CODEOWNERS | Who must review protected paths (enforced only if an admin enables Require review from Code Owners) |
pull_request_template.md | Checklist shown on every pull request |
dependabot.yml | Weekly/monthly grouped dependency update PRs, capped |
Secrets used: FIREBASE_SERVICE_ACCOUNT (deploy credential), optional FUNCTIONS_ENV_FILE (dotenv text), GITHUB_TOKEN. Only a repository admin can add or change secrets.
Test the gate locally: node --test .github/scripts/__tests__/functions-env.test.js. Lint workflows: actionlint (CI does this when .github/ changes).
Common failures: the deploy stopping at the gate with Required configuration missing / Insecure production configuration (fix the variable, not the gate); a red Vercel status is Vercel's own build.
Full explanation and rollback: docs/deployment/CI_CD.md · docs/deployment/REMAINING_SETUP.md.