如今,可用的技术非常多,我们每个月都会看到各种新的 JS 框架发布,有时,如果你一开始没有选择正确的技术堆栈,以后扩展起来就会很困难。因此,在今天的文章中,我将与你分享我用于开发微型 SaaS 的技术和堆栈。
为了更好地理解,我将内容分为前端开发、后端开发、数据库、支付、云和安全。我们将逐一检查它们。
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割
1、前端开发
对于前端开发,我更喜欢使用 Vite 和 React JS,90% 的时间里,我使用 Next JS 构建了一些项目。但我构建的项目大多需要原生 JS 库,如窗口、位置等。
此外,为了简单起见,我一直在使用 MUI 中已经构建的模板,它们为我节省了大量时间,因为我不擅长前端,想创建一个 SaaS 的 MVP 版本来验证和检查我的想法。一旦我觉得事情进展顺利,并且 SaaS 具有一定的潜力,我们就可以进一步研究改进它的样式。
在开发过程中,我大多数时候都会禁用 ESlint 检查,如果您愿意,您可以保持检查启用,这有助于您为 SaaS 编写干净、良好的代码。
2、后端开发
现在看看后端开发,如果我正在构建一个具有许多功能的复杂 SaaS 项目,那么我将使用 Nest JS,它是 Express JS 的更高级版本。
NestJS - A progressive Node.js framework
与使用 Express JS 相比,该框架更可靠、更可扩展。但如果我正在开发功能较少的 SaaS 或 Micro SaaS,那么你可以尝试使用此 Node JS - Express JS 框架。
我更喜欢用 JS 为 Micro SaaS 编写代码,对于那些功能众多且比 Micro SaaS 更大的项目,我更喜欢使用 TypeScript。
有时为了节省时间并更快地构建 CRUD 操作,我也会使用像 Strapi 这样的无头 CMS。
Strapi - Open source Node.js Headless CMS 🚀
它还提供与其他第三方(如 Stripe 和 Mailchip)的集成,从而节省了我的工作和时间。
3、数据库
对于数据库,我更喜欢在大多数项目中使用 MongoDB,然后在需要收集用户活动的地方,我更喜欢使用 PostgreSQL。
如果需要缓存,我也会使用 Redis,我的所有数据库都来自 PlanetScale、Redis.com、MongoDB.com 等提供商,有时如果我需要 Kafka 这样的排队服务,我更喜欢使用 Upstash。
4、支付
对于订阅和付款,我总是使用 Stripe 来管理它们。除此之外,如果你需要更复杂的税务文件和申报,也可以尝试使用 lemon squeezy。我在上一个项目中使用了它,发现它很有用。
5、托管和部署
由于我不是一名优秀的 DevOps 工程师,因此我主要喜欢使用 Heroku、Render 和 Firebase 等平台进行部署。
除此之外,对于我客户的一些大型项目,我一直在使用 Azure 和 GCP 进行信用评估。
但如果你的 SaaS 是 MVP 并且需要的架构不太复杂,可以尝试使用 Vercel 或 Netfily 进行前端部署,使用 Heroku 或 Render 进行 API/后端部署,使用 Wasabi 进行云存储,使用 Firebase Cloud Function/Vercel Edge Functions 进行无服务器部署。如果你想将所有东西都放在一个地方,并且希望比 Azure 或 AWS 的复杂性更低,我也会使用 Digital Oceans。
对于 AI 模型及其部署,我更喜欢使用 Runpod 进行部署。
RunPod - The Cloud Built for AI
除此之外,如果你喜欢使用 Open AI API,也可以使用 Azure 中的积分,或者如果我需要使用其他重建模型,我会使用 Togerther.ai。
6、安全性
对于我的 SaaS 安全性,首先,你需要确保数据库不是公开的,然后我主要使用 Cloudflare 来确保安全性,它可以保护我的 SaaS 免受大量攻击和渗透。
除此之外,我还使用 NewRelic 和 Site 24x7 进行登录和监控,以保存日志和通知。此外,如果你想了解有关通知和管理 SaaS 日志的更多信息,请随时查看我的这篇文章。
原文链接:我的Micro SaaS技术栈 - BimAnt