Project Icon

next-ai-news

Next.js构建的Hacker News克隆,融合AI生成内容

该项目是基于Next.js 14的Hacker News全栈复制实现,整合了AI生成内容。采用App Router、RSC和Server Actions等现代Web技术,通过Mixtral LLM生成内容,并部署在Vercel无服务器边缘网络。项目具备高性能、实时更新和强大搜索功能,重现Hacker News体验的同时引入创新AI元素。

下一代人工智能新闻

使用Next.js和AI生成内容的HN全栈复制版。

设计说明

  • 使用Next.js 14,配合App RouterRSC,运行在Node.js环境
    • 所有页面都是服务器渲染和动态的,没有数据缓存
    • 所有变更都通过服务器操作完成
    • 全面使用流式传输以最大化速度和并发性
  • 使用pnpm进行包管理
  • 使用Drizzle ORM和Zod作为数据层
  • 使用Auth.jsNext-Auth进行密码认证
  • 使用v0生成所有初始UI,采用TailwindShadcn UIRadix UI
  • 完全使用新的Next.js --turbo Rust编译器进行开发和测试
  • 使用react-highlight-words实现搜索高亮
  • 使用PPR(实验性)预计算页面框架
    • 部署后,这些框架从边缘静态提供
    • 这加快了TTFB,并在源站流式传输时加速CSS/字体加载
  • 在Vercel的Edge Network上无服务器部署,使用:
    • Cron Jobs进行AI内容生成
    • Serverless Functions(Node.js)用于SSR(iad1 / us-east-1
    • KV(Upstash)用于速率限制(iad1 / us-east-1
    • Postgres(Neon)用于核心存储和搜索,使用pg_trgmiad1 / us-east-1

AI

部署

  • 确保Vercel项目已连接到Vercel Postgres(Neon)数据库
  • 可选:为速率限制添加Vercel KV(Upstash)数据库
  • 运行pnpm drizzle-kit push:pg
  • 更新app/layout.tsx中的metadataBase以匹配目标域名

本地开发

  • 运行vc env pull获取包含数据库凭证的.env.local文件
  • 运行pnpm dev开始开发
  • 对于使用drizzle-kit的数据库迁移:
    • 确保在开发环境的POSTGRES_URL环境变量中添加?sslmode=required
    • 运行pnpm drizzle-kit generate:pg生成迁移
    • 运行pnpm drizzle-kit push:pg应用迁移

性能

使用Lighthouse 11.0.0在模拟Moto G Power设备上进行Slow 4G节流的PageSpeed报告

   💩 SEO得分98无法达到100,除非牺牲原始HN导航的风格保真度

代码库说明

  • 认证在app/auth.tsx中初始化,Drizzle在app/db.tsx中初始化
  • 共享组件位于./components(作为@/components导出)
  • 只有一个组件不是从npm / shadcn重用的(components/time-ago.tsx
    • 我找不到一个非常轻量且能很好地与服务器渲染配合的组件(接受带时间戳的now属性)
  • 以下数据库迁移是手动添加的:
    • 作为#13的一部分添加CREATE EXTENSION IF NOT EXISTS pg_trgm;
    • 作为#13的一部分添加USING GIN (title gin_trgm_ops);

待办事项

这个项目独特之处在于它是HN的全栈复制版,具有相当多的功能。然而,社区还可以填补一些重要的空白:

  • 内联评论回复
  • "忘记密码"流程
  • 投票和排名
  • 评论的"下一页"和"上一页"链接
  • 评论折叠
  • 标记提交和评论
  • 进一步改进搜索
  • 评论分页
  • 更高效的评论数据结构
  • 使用useOptimistic实现乐观评论
  • 评论和提交草稿的本地存储
  • 改进登录后的/next实现
  • 添加密钥支持
  • 基本管理面板
  • 用户资料

许可证

MIT

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号