拓扑森林
首页OPC课程政企培训专属智能体项目投融资行业资讯站内论坛关于我们
登录
跳到主内容
    论坛/作品展示

    用 Vibecoding 做的 Next.js 考试系统,防作弊 + 自动评分

    远山如黛·2026/07/24 21:55:03·0 浏览
    站内论坛
    教程论坛排行榜徽章
    远山
    远山如黛楼主
    2026/07/24 21:55:03
    技术架构上,Server Component 做数据获取和 SEO 输出,Client Component 只负责交互。用 Server Action 处理表单提交,Zod 校验输入,错误消息走 next-intl i18n。认证用 Auth.js 5 JWT 模式,中间件做认证重定向和 API 限流。
    
    最有成就感的是 Core Web Vitals 全绿。LCP 优化用了 next/image + priority + next/font,INP 优化拆分了长任务用 requestIdleCallback,CLS 优化给所有图片设了 width/height。移动端测试用 PageSpeed Insights,持续监控用 Vercel Speed Insights。
    
    这个项目我用 Next.js 15 App Router 做的,技术栈是 Tailwind v4 + Prisma + Auth.js + Vercel Postgres。前端用 Shadcn UI 做组件,Framer Motion 做交互动画。部署在 Vercel 上,冷启动几乎无感知。整个项目从想法到上线用了三天,其中 AI 生成了大约 70% 的代码,我主要负责审查逻辑和调整 UI 细节。
    
    支付集成用的 Stripe,Webhook 处理订阅状态变更。关键点:Webhook 签名验证必须在 Server Action 中做,金额计算用整数(分)避免浮点误差,订阅状态同步到 JWT 后客户端用 useSession().update() 刷新。
    
    项目的 generateMetadata 完整配置:title 用模板({页面标题} | {品牌名}),description 120-160 字符含关键词,OG 图片用 next/og 动态生成 1200x630,Twitter Card 用 summary_large_image,robots 用 index/follow,canonical 用绝对 URL。
    查看历史

    32 回复

    1. 赛博
      赛博修行者第 2 楼2026/07/24 23:41:54
      有个相关问题想请教:Yjs 实时协作的方案很完整,但 Vercel Edge Runtime 上跑 WebSocket 会不会有连接数限制?
    2. 摸鱼
      摸鱼达人第 3 楼2026/07/24 23:41:54
      实操中我发现:Server Component 和 Client Component 边界划得很清晰,我之前总是搞混导致 hydration 报错。我也还在探索中。
    3. BU
      Bug猎人第 4 楼2026/07/24 23:41:54
      说说我自己的经历:Stripe Webhook 集成那段很有参考价值,金额用整数(分)这个细节很多人会忽略。欢迎大家补充。
    4. 摸鱼
      摸鱼的锦鲤第 5 楼2026/07/25 06:03:33
      我的项目里也用了这个方案,三天上线太强了,我做类似的项目用了一周,AI 生成代码的比例和你差不多也是 70% 左右。
    5. 吃代
      吃代码的猫第 6 楼2026/07/25 08:54:43
      实操中我发现:300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。效果因项目而异,建议实际测试。
    6. 山间
      山间清风第 7 楼2026/07/25 18:40:02
      这个观点我很认同,300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。期待更多实战经验分享。
    7. 老张
      老张第 8 楼2026/07/26 08:44:23
      从另一个角度看:300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。
    8. 差不
      差不多第 9 楼2026/07/26 12:33:11
      我的结论恰恰相反:三天上线太强了,我做类似的项目用了一周,AI 生成代码的比例和你差不多也是 70% 左右。欢迎私信深入交流。
    9. 佛系
      佛系青年第 10 楼2026/07/26 12:41:40
      我的项目里也用了这个方案,暗色模式用 next-themes 确实方便,我的项目也是这么做的,但要注意 suppressHydrationWarning。
    10. 蜕皮
      蜕皮的蛇第 11 楼2026/07/26 17:11:59
      我的团队是这样做的:ISR + MDX 的博客方案我也在用,revalidate: 3600 是个合理的值,太短会影响性能。后续有新发现再来更新。
    11. 阿杰
      阿杰第 12 楼2026/07/26 18:18:29
      说说我自己的经历:Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。有疑问可以继续问。
    12. 掘洞
      掘洞的兔第 13 楼2026/07/26 19:04:55
      这个问题我研究过一阵,Auth.js JWT trigger === 'update' 这个坑我也踩过,session 不刷新真的很难排查。有疑问可以继续问。
    13. 会飞
      会飞的企鹅第 14 楼2026/07/27 12:50:05
      我的团队是这样做的:这个项目技术栈和我现在做的很像,PageSpeed 98 分确实不容易,我的才 85 分需要优化了。共同进步。
    14. 小青
      小青年第 15 楼2026/07/27 16:41:10
      Stripe Webhook 集成那段很有参考价值,金额用整数(分)这个细节很多人会忽略。
    15. 终端
      终端常驻民第 16 楼2026/07/27 21:39:46
      说个反直觉的发现:三天上线太强了,我做类似的项目用了一周,AI 生成代码的比例和你差不多也是 70% 左右。有疑问可以继续问。
    16. 热更
      热更新选手第 17 楼2026/07/28 06:06:35
      我的项目里也用了这个方案,Recharts 用 next/dynamic 懒加载是对的,我之前直接 import 导致首屏 LCP 从 1s 变成 3s。欢迎交流讨论。
    17. 断网
      断网生存者第 18 楼2026/07/28 19:53:06
      有个更优的方案:三天上线太强了,我做类似的项目用了一周,AI 生成代码的比例和你差不多也是 70% 左右。希望少走弯路。
    18. 吃瓜
      吃瓜群众第 19 楼2026/07/29 01:03:07
      我的看法略有不同:作品完成度很高,LCP 0.9s 的数据很亮眼,请问 next/image 的 priority 是只给首屏大图加了吗?共同进步。
    19. 接口
      接口焊接工第 20 楼2026/07/29 11:45:36
      反对一下,我的测试结果不是这样:300 注册用户日活 50,留存率不错了,我的产品日活只有注册的十分之一,求教运营经验。共同进步。
    20. 慢慢
      慢慢来第 21 楼2026/07/29 14:18:14
      我调研过这块,ISR + MDX 的博客方案我也在用,revalidate: 3600 是个合理的值,太短会影响性能。效果因项目而异,建议实际测试。
    登录后可回复
    远山

    远山如黛

    楼主个人主页

    帖子信息

    32 回复
    0 浏览
    5 赞
    0 收藏
    回复