
Enterprise SaaS入门套件
开源Next.js SaaS样板用于企业SaaS应用程序开发。
如果您希望我们继续开发和改进SaaS入门套件,请出演回购! ?
其他资源
视频 - BoxyHQ的SaaS入门套件:您的终极企业兼容样板
博客 - 企业就绪SaaS入门套件
Next.js的SaaS入门套件可以通过在每种产品中使用相同的所有功能开始,从而为您节省了几个月的开发,因此您可以专注于使您的应用程序与众不同的内容。
建立
- Next.js这是一个React框架,提供了诸如服务器端渲染和静态站点生成之类的功能。它用于构建应用程序的用户界面。可以在Next.Config.js中找到Next.js的主要配置。
- Tailwind CSS这是一种实用第一的CSS框架,用于快速构建自定义用户界面。它用于设计应用程序。可以在Postcss.config.js中找到尾风CSS的配置。
- Postgres这是一个功能强大的开源对象关系数据库系统。它用于存储应用程序数据。与Postgres的联系很可能是通过Prisma来管理的。
- React这是用于构建用户界面的JavaScript库。它用于创建应用程序的交互元素。反应组件位于组件目录中。
- Prisma这是一个开源数据库工具包。它用于对象相关映射,这简化了编写数据库查询的过程。 Prisma配置和模式可以在Prisma目录中找到。
- Typescript这是一个键入JavaScript的超集,该javaScript编译为普通的JavaScript。它用于使代码更强大和可维护。 TypeScript定义和配置可以在Next-Env.d.ts和I18Next.D.TS等文件中找到。
- Saml Jackson(提供SAML SSO,Directory Sync)这是处理SAML SSO(单登录)的服务。它用于允许用户登录几个相关系统中的任何一个ID和密码IE(使用一组凭据)。 Saml Jackson的实现主要位于与身份验证相关的文件中。
- SVIX(提供Webhook编排)这是处理Webhooks的服务。它用于发出有关用户/团队CRUD操作的事件,然后可以被应用程序或外部服务的其他部分捕获和处理。 SVIX的集成分布在整个代码库中,主要是在执行,读取,更新和删除(CRUD)操作的领域。
- 追溯(提供审核日志服务)这是用于审核日志记录和数据可见性的服务。它有助于跟踪应用程序中的用户活动IE(谁在应用程序中做了什么以及何时完成)。回溯的使用将分散在整个代码库中,可能是在执行重要操作的文件中。
- 条纹(提供付款)这是处理付款的服务。它用于处理应用程序的付款。条纹的集成可能在与计费和订阅相关的文件中发现。
- 剧作家(提供E2E测试)这是用于自动浏览器的Node.js库。它用于在应用程序上运行端到端测试。剧作家的配置和测试可以在测试目录中找到。
- Docker(提供Docker Compose)这是一个用于开发,运输和运行应用程序的平台。它用于容器化应用程序及其依赖项。可以在Dockerfile和Docker-Compose.yml中找到Docker配置。
- NextAuth.js(提供身份验证)这是Next.js应用程序的完整开源身份验证解决方案。它用于处理用户身份验证和授权。可以在页面/api/auth/[... nextauth] .ts文件中找到NextAuth.js配置和提供商。
部署
入门
请按照以下简单步骤进行本地副本,并运行。
先决条件
- node.js(版本:> = 18.x)
- Postgresql
- NPM
- Docker组成
发展
1。设置
git clone https://github.com/ < your_github_username > /saas-starter-kit.git
2。转到项目文件夹
3。安装依赖项
4。设置您的.env文件
重复.env.example至.env 。
5。创建数据库(可选)
为了使安装依赖项的过程更加容易,我们提供带有Postgres容器的docker-compose.yml 。
6。设置数据库模式
7。启动服务器
在开发环境中:
8。开始Prisma Studio
Prisma Studio是数据库中数据的视觉编辑器。
9。测试
我们正在使用剧作家执行E2E测试。在/tests文件夹中添加所有测试。
更新playwright.config.ts以更改剧作家配置。
安装剧作依赖性
npm run playwright:update
运行E2E测试
注意:HTML测试报告是在report文件夹中生成的。目前支持测试执行chromium和firefox浏览器
包装盒的完全可定制的样板,请参见下面的图像???

?特征
- 创建账户
- 使用电子邮件和密码登录
- 用魔术链接登录
- 与SAML SSO登录
- 与Google登录[设置Google Oauth]
- 使用GitHub登录[创建GitHub Oauth应用程序]
- 目录同步(SICIM)
- 更新帐户
- 创建团队
- 删除团队
- 邀请用户加入团队
- 管理团队成员
- 更新团队设置
- Webhooks&Events
- 国际化
- 审核日志
- 角色和权限
- 黑暗模式
- 电子邮件通知
- E2E测试
- Docker组成
- Prisma Studio
- 更新会员角色
- 目录同步事件
- 头像上传
- SAML SSO
- 审核日志
- Webhook
- 付款
- 安全标头
➡️即将到来
贡献
感谢您抽出宝贵的时间贡献!贡献使开源社区成为学习,启发和创造的绝佳场所。您所做的任何贡献都非常感谢。
请尝试创建一个错误报告:
- 可再现。包括复制问题的步骤。
- 具体的。包括尽可能多的细节:哪个版本,哪个环境等。
- 独特的。不要复制现有的打开问题。
- 示为一个错误。每个报告一个错误。
贡献指南
?社区
- DISCORD(与开源社区和BoxyHQ团队进行实时讨论)
- Twitter / LinkedIn(关注我们)
- YouTube(观看社区活动和教程)
- GitHub问题(贡献,报告问题和产品思想)
?贡献者
用贡献制成。
?许可证
Apache 2.0许可证