Skip to content

Repository files navigation

StickerShow

基于 AI 的贴纸生成 Web 应用:用户输入文本,通过 Replicate 生成贴纸图片,并配套用户系统、订阅支付与多语言能力。

项目说明

StickerShow 是 AI 贴纸生成(AIGC)领域 一次商业化尝试的初期版本(MVP)

当前版本已实现「文本 → AI 生成贴纸 → 用户系统 → 订阅支付 → 多语言」的完整主流程,可用于产品演示与早期市场验证。

⚠️ 若要进行真正商用,仍需完成以下工作:

  1. 深度垂直领域研究:进一步调研目标用户与真实使用场景、明确产品定位、梳理内容合规要求(AI 生成内容的版权与审核政策)、制定定价与增长策略等。
  2. Harness 完成:补齐自动化测试与校验、各类边界条件与异常处理(例如支付订阅中的重复订阅判断、订阅次数限制、Webhook 可靠性等),使工程质量达到可稳定上线的标准。

核心功能

  • AI 贴纸生成:基于 Replicate 的文生图能力,生成贴纸图片
  • 用户系统:Google 登录(NextAuth)
  • 订阅支付:Stripe 订阅(月付 / 年付)
  • 多语言:基于 next-intl 的国际化(中 / 英等)
  • 图片存储:Cloudflare R2 存储生成的图片

技术栈

  • 框架:Next.js(App Router)+ TypeScript
  • 样式:Tailwind CSS
  • 数据库:PostgreSQL(SQL 见 /sql 目录)
  • 认证:NextAuth(Google)
  • 支付:Stripe
  • AI:Replicate
  • 存储:Cloudflare R2

目录结构

src/
  app/            # 页面与 API 路由(含 [locale] 多语言)
  components/     # 组件
  configs/        # 配置(stripe、openai 等)
  context/        # 全局状态
  i18n/           # 多语言配置
  libs/           # 第三方封装(db、stripe、replicate、R2 等)
  servers/        # 服务端逻辑(用户、作品、订阅等)
  middleware.ts   # 路由中间件
sql/              # 数据库建表 SQL
messages/         # 多语言文案
public/           # 静态资源

快速开始

1. 获取代码

git clone <your-repo-url>
cd StickerShow

2. 安装依赖

yarn
#
npm install
#
pnpm install

3. 配置环境变量

复制 .env.example.env.local,并按需修改其中的配置项。生产环境配置在 .env.production

主要配置项:

  1. Google 登录:参考 Google Auth 配置
  2. 数据库:任意 PostgreSQL;建表 SQL 位于 /sql 目录,创建数据库后执行即可
  3. Cloudflare R2:用于存储生成的图片,需在 Cloudflare 后台创建 bucket 并配置;如用到图像转换(URL 压缩),需在 Cloudflare「图像 → 转换」中为对应域名开启
  4. Stripe:价格配置在 src/configs/stripeConfig.ts,具体取值从 Stripe 后台获取(可参考 nextjs-subscription-payments,本项目已将其改造为支持任意 PostgreSQL)

4. 本地运行

yarn dev
#
npm run dev
#
pnpm dev

浏览器打开 http://localhost:3000

部署与配置注意事项

  1. Replicate Webhook:贴纸生成结果通过 Replicate 回调返回。本地调试时需将 REPLICATE_WEBHOOK 配置为公网 URL(可用 ngrok 临时暴露本地);线上环境配置为你的线上域名。
  2. Vercel 定时任务:项目通过 vercel.json 配置定时任务(如将贴纸文本翻译为其他语言),免费账户有调用频率限制。如不需要可删除该文件,改用自有服务器定时调用接口。
  3. Stripe 测试模式:未激活的 Stripe 账号即为测试模式,可本地调通支付流程;上线前需配置 Stripe Webhook 等。
  4. 支付为简易对接:当前 Stripe 对接为简易版本,未覆盖全部边界条件(如支付后无使用次数限制、未处理重复订阅等),需自行完善。

许可证

本仓库为内部初期版本,许可证与商用授权以另行约定为准。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages