Next.jsReactSaaS启动器

evo.platform — Next.js SaaS模板

作者 evomedia-net

evo.platform 是一套多租户 SaaS 平台与模板工具包,包含共享平台服务、Node 与 Python SDK、Next.js 启动模板和 evo new 脚手架 CLI,支持独立运行或接入平台。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-01查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

共享平台服务集中处理租户、用户、JWT/JWKS 认证、计费、SMTP 邮件与审计日志

02

提供 Node 与 Python 两个 SDK,封装认证、租户、成员、邀请、计费、品牌和邮件

03

templates/next 启动模板基于 Next.js + Prisma + PostgreSQL,带 IndexedDB 变更队列与 last-write-wins 同步

04

evo new 脚手架 CLI 可克隆模板、重命名并生成密钥

05

每个模板默认独立运行,设置 PLATFORM_URL 后可切换到平台 SDK

模板详细介绍

evo.platform 把多租户应用里重复的底层设施抽出来,做成一个共享平台服务加模板工具包。平台服务基于 Node.js/NestJS、Prisma 和 PostgreSQL,负责租户、用户、认证(JWT/JWKS)、计费、SMTP 邮件与审计日志,一个服务可以服务多个应用。配套两个 SDK(@evoplatform/sdk-node 与 evoplatform-sdk Python 版)封装认证、租户、成员、邀请、计费、品牌和邮件,让应用不必手写 HTTP 调用。模板部分提供 templates/next,即 Next.js + Prisma + PostgreSQL 的启动模板,带离线优先的浏览器层(IndexedDB 变更队列、last-write-wins 同步),并遵循统一的模板契约。脚手架 CLI 用 evo new <app-name> 完成克隆、重命名和生成密钥。

每个模板默认以独立模式运行:使用本地用户表、单一隐式租户,不依赖外部服务,可在一台机器上离线运行。设置 PLATFORM_URL 及客户端凭据后,认证、租户和邮件会切换到平台 SDK。应用可以先独立运行,之后再接入平台。仓库还包含架构、模板契约、部署和流程文档,其中流程文档用带编号步骤的序列图说明注册、租户站点请求和调用 evo-ai(独立商业服务,SDK 的 AskAi 客户端为可选)的过程。

项目声明处于 working v1 状态,平台服务(含管理控制台)、两个 SDK、Next.js 模板和 evo new CLI 均可运行并经过测试,已在 ProvenSheet、CivilCode 和 DocketMail 三个应用上生产使用。代码以 MIT 许可发布,但演示图片、字体、图标等第三方素材需单独核对许可,域名、托管、数据库、支付或 AI 等外部服务可能另行收费。

Next.jsSaaS启动器

适合你的项目吗?

适用场景

  • 需要为多个应用复用同一套租户隔离、登录、角色与计费逻辑的团队
  • 想从可运行的 Next.js 模板起步,再按需接入共享平台服务的项目
  • 希望先以独立模式本地开发、之后再迁移到多租户平台的应用
  • 需要 Node 或 Python 客户端来调用认证、租户、成员和计费接口的开发者

适合人群

  • 构建多租户 SaaS 产品的开发团队
  • 需要统一认证、RBAC、计费和审计日志基础设施的项目
  • 偏好 Next.js + Prisma + PostgreSQL 技术栈的开发者
  • 希望用脚手架快速生成租户感知站点骨架的团队

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    安装与部署步骤见 docs/INSTALL.md 和 docs/DEPLOY.md

  2. 2

    平台服务使用 Node.js/NestJS、Prisma 和 PostgreSQL,模板使用 Next.js + Prisma + PostgreSQL

  3. 3

    模板默认独立运行;接入平台需设置 PLATFORM_URL 并提供客户端凭据

  4. 4

    evo-ai 是独立的商业服务,SDK 中的 AskAi 客户端为可选

  5. 5

    代码为 MIT 许可,但第三方素材与外部服务需另行核对许可和费用

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • evo-ai 是独立的商业服务,SDK 中的 AskAi 客户端为可选;使用该 AI 功能需另行付费并依赖外部服务,不属于免费代码范围。
  • 接入共享平台服务需设置 PLATFORM_URL 并提供客户端凭据;不设置时模板以独立模式运行,使用本地用户表和单一隐式租户。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

**A tenant app asking evo-ai** (separate, commercial service; the SDK's `AskAi` client is optional)

README 原文

Setting `PLATFORM_URL` (plus client credentials) flips auth, tenancy, and email over to the platform SDK.

README 原文
https://github.com/evomedia-net/evo.platform/blob/main/LICENSEhttps://github.com/evomedia-net/evo.platform/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 85 / 100
技术栈
Next.js · React
网站类型
SaaS · 启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-30
截图检查日期
2026-10-01

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: 865bb8116deca147eb52bc04ac2f78827da624df5a31a0108243a3833fd28df3

2026-10-01T00:44:16.649Z

来源文件 / 仓库
# EvoPlatform

![CI](https://github.com/evomedia-net/evo.platform/actions/workflows/ci.yml/badge.svg)

**https://evomedia.net** — built by Kelly Michels · [email protected]

A multi-tenant SaaS platform and app-template toolkit. Build a new tenant-aware site by
cloning a starter template — tenancy, auth, RBAC, audit logging, and deployment come wired in.

> **Status: working v1.** The platform service (with admin console), both SDKs (Node and
> Python), the Next.js template, and the `evo new` CLI all run and are tested, and are in
> production under three apps: ProvenSheet, CivilCode, and DocketMail. **Setup: [docs/INSTALL.md](docs/INSTALL.md)** · deploy:
> [docs/DEPLOY.md](docs/DEPLOY.md) · design:
> [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md), [docs/TEMPLATE_CONTRACT.md](docs/TEMPLATE_CONTRACT.md) · flows:
> [docs/FLOWS.md](docs/FLOWS.md).

## The idea

Most multi-tenant apps re-implement the same undifferentiated plumbing: tenant isolation,
login, roles, billing, email, admin tooling. EvoPlatform splits that into:

- **A shared platform service** (Node.js/NestJS + Prisma + PostgreSQL) that owns tenants,
  users, auth (JWT/JWKS), billing, and SMTP — one service serving many apps.
- **Two SDKs** — `@evoplatform/sdk-node` and `evoplatform-sdk` (Python) — wrapping auth,
  tenancy, members, invites, billing, brand and email, so apps talk to the platform without
  hand-rolling HTTP calls.
- **A starter template** conforming to a single template contract:
  `templates/next` — Next.js + Prisma + PostgreSQL, with an offline-first browser layer
  (IndexedDB mutation queue, last-write-wins sync).
- **A scaffold CLI** — `evo new <app-name>` — clone, rename, generate secrets, done.

## Standalone mode

Every template runs **without** the platform service by default: a local users table, a
single implicit tenant, and no external dependencies — the whole app runs on one machine,
offline if needed. Setting `PLATFORM_URL` (plus client credentials) flips auth, tenancy, and
email over to the platform SDK. Apps can start standalone today and join the platform later.

## System flows

How requests move through the platform — the full walkthrough with numbered
steps and direction rules is in [docs/FLOWS.md](docs/FLOWS.md). Solid arrows
are requests (tail = initiator), dashed are responses, amber is an out-of-band
push, blue is the mechanism each figure exists to show.

**User sign-up, end to end** — one request creates the workspace, its founding
admin, and trial access to the arriving app only; nobody signs in until the
mailbox is verified:

![Sign-up sequence diagram](docs/img/flows/flow-1-signup.svg)

**A tenant site through the system** — login is delegated to the platform,
then every request is verified locally against pulled JWKS keys; after login
the app does not need the platform to be up:

![Tenant site sequence diagram](docs/img/flows/flow-2-tenant-site.svg)

**A tenant app asking evo-ai** (separate, commercial service; the SDK's
`AskAi` client is optional) — server-side service key, tenant-scoped
retrieval, and a relevance gate that refuses before any model is invoked:

![Ask AI sequence diagram](docs/img/flows/flow-3-ask-ai.svg)

## Repository layout

```
platform/            Shared platform service (NestJS)
packages/sdk-node/   Node SDK
packages/sdk-python/ Python SDK
templates/next/      Next.js starter template
cli/                 `evo new` scaffolding tool
docs/                Architecture and design docs
```

## License

[MIT](LICENSE) © Kelly Michels
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。