尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Client-side web explorer for Modhaus Cosmo K-POP NFT (Objekts)
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A web explorer for Cosmo's Objekts, focused on the client-side experience. Cosmo is an app by Modhaus Inc. that decentralizes K-pop using blockchain technology; Objekts are its digital photocard NFTs. Live at objekt.top. • Browse and filter every indexed Objekt collection • Per-profile collections, pins, locks and ownership history • Time travel: view any profile's collection as it was on a past date • Trade lists (have/want) with matching between profiles • Market listings and price tracking • Live activity feed over WebSockets [README 설치·사용 부분 발췌] Getting started檢視完整 README ↗
A web explorer for Cosmo's Objekts, focused on the client-side experience. Cosmo is an app by Modhaus Inc. that decentralizes K-pop using blockchain technology; Objekts are its digital photocard NFTs.
Live at objekt.top.
| Layer | Technology |
|---|---|
| Runtime | Bun 1.4 |
| Frontend | TanStack React Start, Vite, React 19, Tailwind CSS 4 |
| API | ORPC (type-safe RPC) with Zod |
| Database | PostgreSQL 18, Drizzle ORM |
| Auth | Better Auth |
| Real-time | WebSockets, Valkey pub-sub |
| i18n | Inlang (Paraglide) |
| Indexer | Subsquid (EVM processor) |
| Lint/Format | oxlint, oxfmt |
| Path | Package | Purpose |
|---|---|---|
apps/web | web | Frontend, with an embedded WebSocket activity server |
apps/worker | worker | Background jobs (Croner) |
apps/indexer | indexer | On-chain NFT metadata indexer (Subsquid) |
packages/api | @repo/api | ORPC routers and services shared by the server |
packages/db | @repo/db | Drizzle schema and migrations for both databases |
packages/lib | @repo/lib | Shared utilities and types |
packages/cosmo | @repo/cosmo | Cosmo SDK |
packages/lint | @repo/lint | Shared oxlint config |
packages/tsconfig | @repo/tsconfig | Shared TypeScript configs |
Bun workspaces manage the packages, Turbo runs the tasks.
Requirements: Bun 1.4+, PostgreSQL 18 and a Valkey/Redis instance. docker-compose.yml provides all of them if you'd rather not install them locally.
bun install
cp .env.example .env # then fill it in
All apps read the same root .env, so there is nothing to configure per package. The essential variables:
| Variable | Purpose |
|---|---|
DATABASE_URL | Main PostgreSQL connection |
INDEXER_DATABASE_URL | Indexer PostgreSQL connection |
REDIS_URL | Valkey (Redis-compatible) connection |
BETTER_AUTH_SECRET | Auth encryption key |
VITE_SITE_URL | Public site URL |
COSMO_KEY | Encrypted API key for the Cosmo SDK |
See .env.example for the full list, including S3 storage, SES mail, OAuth providers and indexer RPC settings.
Push the schema and start everything:
bun run --filter=@repo/db db:push
bun run dev
The web app is then served on http://localhost:3000.
Run from the repository root; --filter takes a package name.
bun run dev # start all dev servers
bun run dev --filter=web # start one app
bun run build # build everything
bun run lint # oxlint across the monorepo
bun run lint:fix # lint and auto-fix
bun run typecheck # type-check everything
bun run format # oxfmt across the monorepo
Database tasks live in @repo/db:
bun run --filter=@repo/db db:generate # generate a migration from the schema
bun run --filter=@repo/db db:migrate # apply migrations
bun run --filter=@repo/db db:studio # open Drizzle Studio
docker-compose.yml brings up the full stack: web, worker, indexer processor, both PostgreSQL instances with pgbouncer in front, and Valkey.
docker compose up -d
Before opening a pull request, make sure bun run lint, bun run typecheck and bun run format are clean. CI runs the same checks and builds Docker images for any affected service.