new-term-radar
신규 AI 용어를 매일 추적, X·Hugging Face·GitHub 등에서 모델·제품·레포 이름을 빠르게 수집
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기LaunchAI Pro - Production Ready Platform for AI Solutions and Client Acquisition
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Next.js 15 AI SaaS starter: Google login (Auth.js), PostgreSQL + Prisma, an OpenAI-powered AI Writer, and Stripe subscriptions.
• Node.js 18.18 or newer (20 LTS recommended) and npm 9+
• A PostgreSQL database (Neon, Supabase or local)
• Optional, per feature: Google OAuth client, OpenAI API key, Stripe account (see "Feature → required keys")
npm ci installs the exact versions in package-lock.json and does not need --legacy-peer-deps. It also runs prisma generate automatically.
Never commit .env.README 전문 보기 ↗Next.js 15 AI SaaS starter: Google login (Auth.js), PostgreSQL + Prisma, an OpenAI-powered AI Writer, and Stripe subscriptions.
npm ci
cp .env.example .env # Windows: copy .env.example .env
# edit .env: set DATABASE_URL, AUTH_SECRET, NEXTAUTH_URL (see below)
npx prisma migrate deploy
npm run dev # http://localhost:3000
npm ci installs the exact versions in package-lock.json and does not need --legacy-peer-deps. It also runs prisma generate automatically.
Never commit .env.
| Variable | Required | What it is | Where to get it |
|---|---|---|---|
DATABASE_URL | Yes | PostgreSQL connection string | Neon/Supabase dashboard; add ?sslmode=require for hosted databases |
AUTH_SECRET | Yes | Signs session tokens | openssl rand -base64 32 |
NEXTAUTH_URL | Yes | Public URL of the app | http://localhost:3000 locally, your domain on Vercel |
AUTH_GOOGLE_ID | For Google login | Google OAuth client ID | Google Cloud Console → APIs & Services → Credentials |
AUTH_GOOGLE_SECRET | For Google login | Google OAuth client secret | Same place |
OPENAI_API_KEY | For AI Writer | API key for OpenAI or any OpenAI-compatible provider | platform.openai.com → API keys, or your provider's dashboard (e.g. openrouter.ai/keys) |
OPENAI_BASE_URL | No | API base URL. Leave empty for OpenAI | Your provider's docs, e.g. https://openrouter.ai/api/v1 |
AI_MODEL | No | Model name sent to the provider. Default gpt-4o-mini | Your provider's model list, e.g. openai/gpt-4o-mini on OpenRouter |
AI_FALLBACK_MODELS | No | Comma-separated models tried in order when AI_MODEL returns 429 or 404 | Same model list |
STRIPE_SECRET_KEY | For billing | Stripe secret key (sk_...) | Stripe Dashboard → Developers → API keys |
STRIPE_WEBHOOK_SECRET | For billing | Webhook signing secret (whsec_...) | Stripe Dashboard → Webhooks (or stripe listen locally) |
STRIPE_PRICE_STARTER | For billing | Price ID of the Starter plan (price_...) | Stripe Dashboard → Product catalog |
STRIPE_PRICE_PRO | For billing | Price ID of the Pro plan (price_...) | Same place |
STRIPE_PRICE_ENTERPRISE | No | Price ID of the Enterprise plan. If empty, Enterprise is not sold online | Same place |
SALES_CONTACT_URL | No | Enterprise "Contact sales" link, https://... or mailto:.... If empty, the card shows "Available on request" | Your contact page or sales email |
All Stripe variables are read on the server at request time. No NEXT_PUBLIC_* variable and no publishable key are needed (checkout redirects to the Stripe-hosted page). After changing them on Vercel, redeploy.
Accepted aliases, useful when a host already defines them: GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET (for AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET), NEXTAUTH_SECRET (for AUTH_SECRET). Set either name, not both.
| Feature | Needs |
|---|---|
Pages /, /pricing, /login, /register | DATABASE_URL, AUTH_SECRET, NEXTAUTH_URL |
| Dev login (local only) | the three above, npm run dev |
| Google login | AUTH_GOOGLE_ID, AUTH_GOOGLE_SECRET |
AI Writer (/writer, history, /api/ai/generate) | login, DATABASE_URL, OPENAI_API_KEY |
Billing (/billing, checkout) | STRIPE_SECRET_KEY, STRIPE_PRICE_STARTER, STRIPE_PRICE_PRO (optional STRIPE_PRICE_ENTERPRISE, SALES_CONTACT_URL) |
| Subscription sync (webhook) | STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET |
Without OPENAI_API_KEY the /writer page shows the notice "AI generation needs an API key. See README." and disables the Generate button; the API returns HTTP 503. Without STRIPE_SECRET_KEY, /billing shows the badge "Demo UI — Connect Stripe Keys to Activate"; checkout in development redirects to the dashboard with a mock success, and in production it shows "Billing is not configured".
The AI Writer uses the OpenAI SDK, so it works with any OpenAI-compatible provider. Set the key, the base URL and a model name from that provider. Example for OpenRouter:
OPENAI_API_KEY="sk-or-..."
OPENAI_BASE_URL="https://openrouter.ai/api/v1"
AI_MODEL="openai/gpt-4o-mini"
Leave OPENAI_BASE_URL and AI_MODEL empty to use OpenAI with gpt-4o-mini. Restart the server after changing them.
OpenRouter model slugs change over time, especially the free (:free) ones. If /writer shows "Model unavailable", pick a current slug from https://openrouter.ai/models and update AI_MODEL.
To keep /writer working when a model is rate limited (429) or removed (404), list backup models in AI_FALLBACK_MODELS, separated by commas. Each one is tried once, in order; other errors are not retried:
AI_FALLBACK_MODELS="nvidia/nemotron-3-super-120b-a12b:free,inclusionai/ling-3.1-flash"
The example uses free models only. Paid models via OpenRouter (for example openai/gpt-4o-mini) need credits on your OpenRouter account; without credits they fail with "No credits".
Provider errors are shown in /writer as clear messages: 404 → "Model unavailable", 402 → "No credits", 429 → "Rate limited", 401/403 → API key rejected.
.env as DATABASE_URL.npx prisma migrate deploy
This applies the migration in prisma/migrations/. Use npm run db:studio to browse the data.
Existing database created earlier with prisma db push? Mark the initial migration as applied once, instead of running migrate deploy:
npx prisma migrate resolve --applied 20261010000000_init
Neon users: run prisma migrate commands with Neon's direct connection string (the host without -pooler). Pooled connections can hold Prisma's migration lock or keep stale session settings and cause "advisory lock" timeouts. The pooled string is fine for the running app, so you can use the pooled URL in Vercel and the direct one only on your computer when migrating.
If you change prisma/schema.prisma, create a new migration with npx prisma migrate dev --name your_change against a development database. Do not run migrate dev against production.
When started with npm run dev, the login page offers a "Dev Login" form so you can try the app without Google keys:
[email protected]dev1234On first login this creates a matching user row in the database. The provider is only registered when NODE_ENV is development, so it is not available in npm run build && npm start or on Vercel. Change or remove it in lib/auth.ts if you ship a fork.
http://localhost:3000/api/auth/callback/googlehttps://YOUR-DOMAIN/api/auth/callback/google (for example https://your-app.vercel.app/api/auth/callback/google)AUTH_GOOGLE_ID and AUTH_GOOGLE_SECRET.NEXTAUTH_URL must match the domain you are opening. invalid_client means the ID or secret is missing or wrong; redirect_uri_mismatch means the URI above is not registered.STRIPE_PRICE_STARTER, STRIPE_PRICE_PRO and STRIPE_PRICE_ENTERPRISE.STRIPE_SECRET_KEY. Use test keys (sk_test_...) until you are ready to go live.https://YOUR-DOMAIN/api/webhooks/stripe. Subscribe to exactly these events (the handler ignores all others):
checkout.session.completed — marks the subscription activecustomer.subscription.updated — syncs status, price and renewal datecustomer.subscription.deleted — downgrades the user (status CANCELED)STRIPE_WEBHOOK_SECRET.
The "Manage billing" button on /billing opens the Stripe Customer Portal. Activate it once in Stripe Dashboard → Settings → Billing → Customer portal (separately for test and live mode). Subscribed users change or cancel their plan there; the app never starts a second checkout for a user who already has a subscription.stripe listen --forward-to localhost:3000/api/webhooks/stripe
The CLI prints a whsec_... secret; use it as STRIPE_WEBHOOK_SECRET locally.
NEXTAUTH_URL to your production URL.DATABASE_URL pointing at the production database:npx prisma migrate deploy
npm install, which triggers prisma generate, then next build.| Command | Purpose |
|---|---|
npm run dev | Development server |
npm run build / npm start | Production build / server |
npm run lint | ESLint |
npm run db:migrate | prisma migrate deploy |
npm run db:push | prisma db push (prototyping only) |
npm run db:studio | Prisma Studio |
app/ Routes: (marketing), (auth), (dashboard), api/
components/ UI components
features/ Billing, team, analytics logic
modules/ AI Writer service and UI
lib/ auth, db, openai, stripe, env helpers
prisma/ schema.prisma and migrations/
documentation/ Documentation.html (same content as this file)
/writer redirects to /login: expected when signed out.next-auth 5.0.0-beta.19 in development only; the pages still work and it does not occur in production builds.prisma migrate, see "Database setup".P3005 The database schema is not empty: the database was created with db push; run the migrate resolve --applied command from "Database setup" once.npx prisma migrate deploy and check DATABASE_URL.OPENAI_API_KEY is missing.AI_MODEL is not a valid model at your provider; on OpenRouter check https://openrouter.ai/models.AI_FALLBACK_MODELS./billing shows "Demo UI — Connect Stripe Keys to Activate": STRIPE_SECRET_KEY is not set in this deployment; set it and redeploy.See LICENSE.txt and Credits.txt. You bring your own OpenAI, Stripe and database accounts; this product is not affiliated with them.