Ecommerce Template
Modern ecommerce template built with Next.js 16, React 19, Drizzle, Better Auth, Supabase, and Stripe.
Browse every Cosmo objekt and see who holds it.
Translation pending
CommerceTypeScript · HTMLGitHub @izrin96OnlineOwner 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
Client-side web explorer for Modhaus Cosmo K-POP NFT (Objekts)
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
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 startedRead the full 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.