pgx
PGX — Lightweight Postgres for AI agents. Written in Rust. Thousands of isolated databases in one runtime. 🐘
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Atomity Frontend Engineering Challenge
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
An original, animated, scroll-driven visualization of multi-cloud resource cost aggregation — four cloud providers feeding into a shared cost analysis, a focus transition onto one specific workload, and a savings conclusion. Built as a self-built, from-scratch frontend engineering exercise: every visual element (nodes, connectors, chart, cards, badges) is hand-built, with no pre-made UI component library.檢視完整 README ↗An original, animated, scroll-driven visualization of multi-cloud resource cost aggregation — four cloud providers feeding into a shared cost analysis, a focus transition onto one specific workload, and a savings conclusion. Built as a self-built, from-scratch frontend engineering exercise: every visual element (nodes, connectors, chart, cards, badges) is hand-built, with no pre-made UI component library.
useScroll/useTransform primitives, which drive every stage off a single progress value so the whole sequence reverses correctly on scroll-up with no separate "undo" logicNo UI/component libraries, no icon packages, and no dependencies beyond what's listed above.
npm install
npm run dev
Then open http://localhost:3000. For a production build:
npm run build
npm run start
Other scripts: npm run lint (ESLint), npm run typecheck (tsc --noEmit).
The page is a single scroll-driven narrative, pinned to the viewport while you scroll through five stages:
Every stage is driven by a single scroll-progress value, so scrolling back up reverses the whole sequence exactly, rather than relying on one-shot "play on enter" animations.
On mobile widths and whenever the OS/browser's reduced-motion preference is on, the page switches to a simpler, non-pinned layout: the same content reveals as you scroll past it with a plain fade-and-slide-in, with no scroll-scrubbing, scaling, or zoom.
Data comes from the public DummyJSON products endpoint:
GET https://dummyjson.com/products?limit=10&select=id,title,price,rating,discountPercentage,stock
The fetched price, rating, discountPercentage, and stock fields are deterministically transformed (see src/lib/mapResourceData.ts) into this visualization's own domain model — cost figures per resource category, provider glyph "lit" states, and a computed savings figure. This is a genuine, dynamic fetch with real async state handling; the numbers are not presented as real cloud telemetry, just realistic-looking figures derived from a real API response, remapped honestly into the visualization's own language.
Loading / error / success states: a skeleton placeholder renders on first load; a network failure shows an explicit error message with a working Retry button; on success, the real values feed the animation and count-up numbers. TanStack Query caches responses for 5 minutes, so revisiting or remounting the section within that window shows data instantly with no redundant network request.
<section>, <h2>, <figure>/<figcaption>, <dl> for label/value pairs) rather than generic <div>s.prefers-reduced-motion is handled as a first-class alternate render path (see above), not a single disabled transition.<button> with a visible focus ring.aria-hidden; all meaningful content is real text in the DOM.src/app/globals.css (colors, spacing, radius, typography, motion durations/easing) are the single source of truth, referenced from components via Tailwind's arbitrary-value syntax (bg-[var(--color-bg-surface)]) rather than scattered hex values.CloudProviderNode, ResourceGlyph, ConnectionLayer, ResourceVisualization, ResourceMetric, SavingsDetail, plus generic Badge/Button/StatValue primitives) rather than one large monolithic section component; the orchestrating MultiCloudSection owns the scroll wiring and passes a single progress value down.@container) drive component-level responsiveness (e.g. the chart's bar layout), color-mix() produces accessible-contrast text variants of the accent color, and clamp() handles fluid type sizing.getBoundingClientRect measurement; this is robust for the current layout but would need to become measurement-based if the composition grew more dynamic.