Ecommerce Template
Next.js·React 등으로 만든 최신 전자상거래 템플릿
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Australia's marketplace for Riftbound trading cards — a CSFloat-style MVP.
Browse, filter, buy and sell card singles in AUD.
MVP demo. Card data is representative sample data for demonstration purposes
and is not affiliated with or endorsed by Riot Games.
• Next.js 14 (App Router) + TypeScript
• Tailwind CSS — dark, CSFloat-inspired UI
• Prisma + SQLite — local database (prisma/dev.db)
• jose + bcryptjs — cookie session auth
• Self-contained SVG card art (no external image assets needed)README 전문 보기 ↗Australia's marketplace for Riftbound trading cards — a CSFloat-style MVP. Browse, filter, buy and sell card singles in AUD.
MVP demo. Card data is representative sample data for demonstration purposes and is not affiliated with or endorsed by Riot Games.
prisma/dev.db)npm install # install dependencies
npm run setup # generate Prisma client, create DB, seed data
npm run dev # start the dev server at http://localhost:3000
The seed creates a ready-to-use account:
[email protected]Sign-in is Google or Discord only — the email/password flow was removed. The seeded accounts exist for their marketplace data (listings, orders, wallet); to sign in as one locally, sign in with an OAuth provider on the same address, or set
googleId/discordIdon the row by hand.
It is pre-loaded alongside 6 seller accounts, 54 cards (the "Origins" set) and ~190 active listings.
A native iOS + Android app lives in mobile/. It's a
Capacitor shell that loads the live site and shows
native Google AdMob ads, so it reuses 100% of this web app and stays in sync
automatically (a website deploy updates every installed app — no store update).
See mobile/README.md for build & store-release steps. The
website is app-aware via src/components/NativeShell.tsx and src/lib/admob.ts.
| Command | Description |
|---|---|
npm run dev | Start the dev server |
npm run setup | Generate client + create DB + seed (first-time setup) |
npm run db:seed | Re-seed (resets all marketplace data) |
npm run db:reset | Drop + recreate the schema, then seed |
npx tsx scripts/import-cards.ts <file.json> | Import real card data (see file header for format) |
prisma/
schema.prisma # User, Card, Listing, Order models
cards.ts # sample Origins card dataset
seed.ts # seeds users, cards and listings
src/
app/ # routes (browse, card/[id], sell, login, profile, api/*)
components/ # CardArt, Navbar, ListingCard, Filters, forms…
lib/ # db, auth, constants, listings query, formatting
scripts/
import-cards.ts # JSON importer for real card data
## Deploying
Production is **not** built on every push. `vercel.json`'s `ignoreCommand`
(`scripts/vercel-ignore-build.sh`) skips any commit whose message lacks the
marker `[deploy]`; the **Production deploy** workflow lands one such commit on
`main` every day at 08:00 UTC, after the morning price import. To release now,
either press *Run workflow* on that workflow or put `[deploy]` in your commit
message. Why: every Vercel build prerenders ~770 database-backed pages and
clears the ISR page cache, and at 10–30 pushes a day that alone was exhausting
a Neon transfer allowance every three days — see `DECISIONS.md`
("Network transfer: the deploy cadence was the burn", 2026-09-11).