Bops
A team of AI bots that runs your business ops: inbox, pipeline, invoices, reports. Each one has its own computer, email and phone number, and remembers everything.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Live demo (v2, cartoon revamp): https://alfredang.github.io/kanban11/v2/ Original v1: https://alfredang.github.io/kanban11/
A single-file Kanban board demo for an IT PMO, built with vanilla HTML/CSS/JS. All markup, styles and script live in index.html.
Tasks are seed/demo data (IDs UOB-ITPM-0001–0008; due dates are computed relative to today). The notification email is the placeholder [email protected].
Open index.html in a browser (Start-Process index.html on Windows). No server or build needed.
Set your notification address in one place only: FORMSUBMIT_ENDPOINT in the config section at the top of the <script>. FormSubmit requires a one-time email activation per address (see the HTML comment above the script); until activated, new-task notifications are not delivered (the board still works, a warning toast is shown).
GitHub Actions (.github/workflows/pages.yml) deploys the repo root to GitHub Pages on every push to main. A check job runs node --check on the extracted script block first; deploy only runs if it passes.
localStorage, cookies, etc.); a refresh resets to seed data.!important; colours/spacing come from :root custom properties.escapeHtml(); board DOM is built only in renderBoard()/renderCard(); events are delegated on #board.There is no test suite. Syntax check of the script block:
sed -n '/^<script>/,/^<\/script>/p' index.html | sed '1d;$d' > "$TEMP/k.js" && node --check "$TEMP/k.js"
v2/)prefers-reduced-motion: no-preference.#board, #visual, #timeline): Board (drag-and-drop Kanban), Visual (KPIs, status donut, priority bars, per-project stacked bars, overdue rescue list), Timeline (Gantt-style start-to-due bars with a Today marker). The filters apply to all three.script-src 'self', style-src 'self', connect-src https://formsubmit.co, form-action 'none', base-uri 'none', object-src 'none'), enabled by splitting the app into index.html / styles.css / app.js (no inline code).innerHTML: the DOM is built with createElement/textContent, so user text is never parsed as HTML.credentials: omit, redirect: error, no-referrer, frame-busting, and inert background while the modal is open.v2/ for innerHTML, eval, !important, storage APIs and inline code.frame-ancestors/HSTS cannot be set (frame-busting JS is used instead).