项目背景
随着近几年 LLM(大语言模型)在国内外迅速的发展,AI 应用也展现出爆发式的增长,不再是单纯的以聊天对话为主的展现形式,而是以多模态、多场景为主的多层展现形式。
文生图、图生图、文生视频、图生视频、AI 编程、数字人等各方面的 AI 应用都在不断地发展,也在不断地被应用到各个行业。
尤其是今年 DeepSeek 的爆火,更加推动 AI 应用在全行业的落地,几乎国内的大部分 AI 应用都接入了 DeepSeek 的服务,也让 AI 应用在全行业的落地更加的快速。
在 AI 编程方面,尤其是对我们程序员来说更是一个福音,我们可以使用 AI 编程助手来辅助我们写代码,如 VsCode 中的 MarsCode 插件,我们使用它就可以轻松实现代码提示、代码注释、AI 提问等一系列辅助功能。
未来,AI 应用会贯穿我们生活的始终,那这么多的 AI 应用我们该如何去使用呢,我们不妨做一个 AI 导航网站,便于我们查询和使用。
功能介绍
目前 AI 导航网站实现的功能如下,未来还会持续迭代更多功能。
登录 、注册 、点赞 、收藏 、留言板 、编辑网站 、新增网站 、删除网站 、更新网站 、我的收藏 、个人设置 、暗黑主题 、侧边栏导航。
项目模版
本项目的初始化,参考的本专栏总结的一篇文章《配置一个 Next.js 项目模板,用于项目快速开发》,集成一些项目开发规范,如 husky、commitlint、prettier 等,具体内容以本项目源代码为准。
线上数据库
本项目使用 Prisma 进行数据库的相关操作。
本项目的数据库使用的是基于 Supabase 平台的 PostgreSQL 数据库,Supabase 平台提供在线数据库管理,你可以把它理解为线上版本的 Navicat,一个在线的图形化数据库管理工具。
具体使用方式您可以参考本专栏的一篇文章《在 Next.js 中使用 Prisma 集成数据库》,这篇文章介绍如何在项目中集成 Prisma 与 Supabase。
登录功能
为便于开发,本项目登录功能使用的是快速集成工具 Clerk,Clerk 目前是支持 Next.js 的。
只需要几行代码,就可以轻松实现登录功能,并且 Clerk 自带 UI,如果不想使用其 UI 样式,还可以进行自定义页面的调节,非常方便。
本项目实现的登录页面,UI 主题使用的是 Clerk 内置的一个主题。
注册功能
Clerk 同样也提供注册功能,与登录功能一样的 UI 风格。
点赞功能
本项目支持点赞功能,每个用户针对一个网站只能点赞一次,否则就是取消点赞。只有登录的用户才能点赞,因为要记录到数据库中。
收藏功能
收藏功能同上,收藏的文章会被收集到我的收藏页面,便于后期查阅。
留言板
留言板页面是由 AI 编程助手 v0 生成的,用户可以免费使用几次,达到指定次数就会收费,否则限制使用。
留言板区分管理员和普通用户,未登录的用户也可以留言,支持留言点赞和回复功能,只需要输入用户名就行,管理员可以删除,置顶指定的留言。
增删改查
目前只有管理员才能进入管理网站页面,否则会提示没有权限。
新增页面:
点击卡片右上角的三个点,即可编辑网站,也可以删除网站。
编辑页面:
管理分类页面:
该页面用于新增分类,在新增网站的时候,用于指定是什么类型的网站。
未授权的页面提示。
社交卡片
在网站的右上角新增微信联系方式 和项目 Github 地址,用于社交。
暗黑模式
在页面右上角提示亮色 和暗黑模式的切换
暗黑模式:
404页面
当输入项目之外的页面时,会提示 404 页面未找到。
AI 助手
在开发本项目的时候,部分页面使用 v0 帮我设计样式和逻辑,我只需要给它对应的提示词,它就会帮我生成对应的页面逻辑。
结束语
作者把本项目当作一个入门 Next.js 的实战项目,并且根据学习 Next.js 的经验以及周边生态,持续对本项目进行开发和改进,目的其实很简单,探索并学会使用 Next.js 进行全栈开发。
本文只是对该项目的简要概述,更详细的开发流程,会在本专栏后续推出。
网站地址:xtainav.cn
Github 地址:github.com/vaesonshu/x...