Project Icon

create-t3-turbo

整合Supabase的全栈应用开发框架

create-t3-turbo是扩展自create-t3-app的全栈应用开发框架,整合Supabase Auth实现跨平台身份验证。框架提供快速启动指南,涵盖依赖设置、Supabase配置和Expo开发脚本。支持iOS和Android开发,并包含详细配置说明。该框架结合多种现代技术,为开发者提供灵活高效的应用开发环境。

T3 Turbo x Supabase

CleanShot 2023-04-11 at 23 42 53@2x

关于

这是create-t3-turbo的扩展版本,在Web和移动应用程序上都使用Supabase Auth实现了身份验证。

移动端注意事项

iOS: Apple的审核流程要求之一是,如果你提供任何第三方身份验证方法,你必须实现原生的"使用Apple登录"。详情请参阅第4.8节 - 设计:使用Apple登录

我们已经为你预先配置好了,你可以在这里找到。你只需要在Supabase仪表板中启用Apple提供商并填写你的信息即可。

我们目前只支持"使用Apple登录" - 正在努力支持移动端的更多提供商!

快速开始

要运行它,请按照以下步骤操作:

设置依赖项

# 安装依赖项
pnpm i

# 配置环境变量。
# 根目录下有一个`.env.example`文件,你可以用作参考
cp .env.example .env

# 将Prisma模式推送到你的数据库
# 无法使用Turbo运行,因为我们需要一个交互式shell(见下文解释)
# 后续运行你可以直接从根目录执行`pnpm db:push`
pnpm -F db db:push

运行最后一个命令pnpm -F db db:push时,你会收到一个在schema-migrations模型上添加唯一约束的警告。这是因为Supabase默认不包含这个,但Prisma要求每个模型至少有一个唯一列。你可以安全地接受这个警告并在表上添加唯一约束。

设置Supabase

  1. 前往Supabase仪表板并创建一个新项目。
  2. 在项目设置下,获取环境变量reference idproject urlanon public key,并将它们粘贴到.envapps/expo/.env中的必要位置。你还需要在创建项目时设置的数据库密码。
  3. Auth下,配置你选择的任何身份验证提供商。此仓库在Web上使用Github,在移动端使用Apple。

默认情况下,Supabase将public模式暴露给PostgREST API,以允许supabase-js客户端直接从客户端查询数据库。然而,由于我们通过Next.js应用程序(通过tRPC)路由所有请求,我们不希望我们的客户端具有此访问权限。要禁用此功能,请在Supabase仪表板的SQL编辑器中执行以下SQL查询:

REVOKE USAGE ON SCHEMA public FROM anon, authenticated;

禁用公共访问

注意:这意味着如果你不想启用,你也不需要在数据库上启用行级安全性(RLS)。

配置Expo dev脚本

使用iOS模拟器

  1. 确保你已安装XCode和XCommand Line Tools,如Expo文档所示

    注意: 如果你刚刚安装了XCode,或者如果你更新了它,你需要手动打开模拟器一次。在根目录运行npx expo start,然后输入I来启动Expo Go。手动启动后,你可以在根目录运行pnpm dev

+  "dev": "expo start --ios",
  1. 在项目根文件夹运行pnpm dev

提示: 在单独的终端窗口中运行每个应用可能更容易,这样你可以分别获取每个应用的日志。如果你想让你的终端具有交互性,例如访问Expo二维码,这也是必需的。你可以运行pnpm --filter expo devpnpm --filter nextjs dev在单独的终端窗口中运行每个应用。

对于Android

  1. 安装Android Studio工具,如Expo文档所示
  2. apps/expo/package.json中更改dev脚本以打开Android模拟器。
+  "dev": "expo start --android",
  1. 在项目根文件夹运行pnpm dev

参考

项目侧边栏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

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

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