一个Indie Hacker的微SaaS技术栈

如今,可用的技术非常多,我们每个月都会看到各种新的 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/399796.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式存储ceph知识点整理

一、Ceph概述 如何选择存储 底层协议兼容性产品要有定位,功能有所取舍针对特定市场的应用存储被市场认可的存储系统 稳定性是第一位的性能第二数据功能要够用 一)存储分类 1、本地存储 本地的文件系统,不能在网络上用。 如:ext3、…

Python图像背景去除

目录 🎁库的导入 🎀库的安装 🎁rembg库去除背景 🎁效果 🎁文末彩蛋 今天来介绍一个特别有趣的python库,rembg库,全称是“Remove Background”的缩写,意为“去除背景”&#xff…

内存泄漏工具valgrind初使用

工具下载&#xff1a; sudo apt install valgrind简单使用流程&#xff1a; 编写源文件编译&#xff08;-g方式&#xff09;valgrind使用memcheck工具运行程序 编写文件&#xff1a; #include <stdlib.h> #include <sys/types.h> #include <unistd.h> #i…

Github 2024-08-12 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-08-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3Java项目2JavaScript项目1TypeScript项目1Vue项目1Clojure项目1Dockerfile项目1HTML项目1C项目1Jupyter Notebook项目1Node.js最佳实…

【秋招笔试】2024-08-07-YT游戏(研发岗)-三语言题解(CPP/Python/Java)

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 本次的题目比较典,…

docker的swarm技术

docker中swarm技术 docker swarm技术是docker社区提供的docker的集群管理调度工具&#xff0c;通过api来管理多个主机上的docker&#xff0c;通过overlay网络来实现不同主机之间容器的通信与访问。实现容器的调度&#xff0c;资源的分配&#xff0c;以及副本。 docker swarm中…

Keepalived超详解,里面有你最爱看的Keepalived+LVS与Keepalived+HAProxy

文章目录 VRRPVRRP相关术语VRRP相关技术 keepalived介绍keepalived环境准备keepalived配置说明全局配置虚拟路由器配置开启通信功能启用keepalived日志实现独立子配置文件 keepalived企业应用实例抢占模式和非抢占模式非抢占模式延迟抢占模式 VIP单播模式keepalived通知脚本配置…

JVM知识总结(CMS收集器)

文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ 文章收录在网站&#xff1a;http://hardyfish.top/ CMS收集器 CMS&#xff08;Concurrent Mark Sweep&#xff09;收集…

14.3 Matplotlib与Seaborn数据可视化

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

tiktok 搜索接口请求与翻页

这几天有小伙伴问tk的搜索接口的问题, 一个是搜索热门接口请求返回 {“status_code”: 0},这个使用curl_cffi的requests库改一下指纹请求就行了。 再一个就是翻页问题 细心一些比对一下翻页参数都能做到的(小伙伴以为只改个offset就完事了) 要不然你只能得到这样的结果:…

音视频概要

YUV原理的讲解 YUV是一种常见的视频像素格式&#xff0c;经常用在视频编解码上面&#xff0c;YUV分别由Y分量和U、V分量(红色投影Cr)组成。Y分量指的是亮度分量&#xff0c;也就是我们经常说的灰阶值&#xff0c;相当于一副灰色的图像。而U分量和V分量表示的是色度分量&#x…

ThinkPHP5.0.15漏洞解析及SQL注入

第一步&#xff1a; 通过查看5.0.15和5.0.16版本的对比&#xff0c;可以看到16版本对在Builder.php里面对数据库的增减做了修正&#xff0c;所以可以15版本的漏洞就存在在这里。这里的代码用的拼接的方式&#xff0c;就可以尝试使用报错注入来实现。 第二步&#xff1a; 我们…

Selenium + Python 自动化测试09(多窗口切换)

我们的目标是&#xff1a;按照这一套资料学习下来&#xff0c;大家可以独立完成自动化测试的任务。 上一篇我们讨论了截图的操作方法&#xff0c;本篇文章我们讲述一下多窗口切换的操作方法。 在实际的测试项目组中我们可能会遇到多窗口的情况&#xff0c;有时候需要在不同窗口…

代理服务器在HTTP请求中的应用:Ruby实例

摘要 在现代互联网架构中&#xff0c;代理服务器是不可或缺的组件&#xff0c;它提供了访问控制、数据加密、缓存和匿名访问等多种功能。本文将介绍代理服务器的基本概念&#xff0c;并以Ruby编程语言为例&#xff0c;展示如何在HTTP请求中使用代理服务器&#xff0c;包括设置…

TS基础记录

ts配置文件的配置项有很多下面是一些常见的配置&#xff1a; { //这个ts的json可以写注释,用来指令哪些ts文件需要编译,/*任意文件,/**任意目录,./是当前目录 , // ../是父级目录,/是根目录&#xff08;表示一下子回到最顶端的那个文件夹下&#xff09; "include": […

Android 实现多进程通讯(如何实现多进程开发,Binder、AIDL)

目录 1&#xff09;为什么App需要多进程 2&#xff09;什么是多进程开发? 3&#xff09;如何实现多进程开发&#xff1f; 4&#xff09;跨进程间通讯(案例) 5&#xff09;多进程需要注意什么问题&#xff1f; 6&#xff09;多进程的底层原理是什么&#xff1f;【待写】 …

【Ajax使用说明】Ajax、Axios以及跨域

目录 一、原生Ajax 1.1 Ajax简介 1.2 XML简介 1.3 AJAX 的特点 1.3.1 AJAX的优点 1.3.2 AJAX 的缺点 1.4 AJAX 的使用 1.4.1AJAX的基本操作 1.4.2AJAX的传参 1.4.3 AJAX的post请求及设置请求体 1.4.4 AJAX响应json数据 1.4.5 AJAX请求超时与网络异常处理 1.4.5 AJ…

Ubuntu基础使用-适合新手的讲解

目录 一、基础操作 1. 终端重要热键 2. 基础命令 3. 通配符 二、文件与目录 1. 2.等价 3.帮助指令 4.当前路径 更改路径 5.创建与删除文件夹 6.创建与删除文件 7.重定向&#xff08;写入&#xff0c;追加写入&#xff09; 8.查看文件内容 9.wc指令 10.复制&…

Broken: Gallery靶机复现

靶机设置 靶机设置为NAT模式 靶机IP发现 nmap 192.168.112.0/24 靶机IP为192.168.112.142 目录扫描 dirsearch 192.168.112.142 访问浏览器 发现文件页面 查看后发现都没什么用 getshell hydra -L rockyou.txt -P rockyou.txt 192.168.112.142 ssh 尝试爆破ssh账号密码…

Agile Modbus移植教程--基于GD32F103C8T6+RT-Thread+mdk5

主机移植 0.下载源码 开源地址:GitHub - loogg/agile_modbus 1.复制源码 1.2、目录结构 名称说明doc文档examples例子参考示例figures素材inc头文件移植需要src源代码移植需要util提供简单实用的组件移植需要 本次移植需要的有 参考demo 头文件 源码 从机辅助文件 2.添…