免费开源的后端API服务-supabase安装和使用-简直是前端学习者福音

文章目录

    • 它是什么
    • 安装和部署
        • 关于安装
        • 关于部署
          • 1、注册用户
          • 2、创建组织
          • 3、创建项目
    • 创建数据库表(填充内容)
        • 填充数据库表
    • 使用postman联调API

它是什么

一个开源免费的后端框架,firebase的替代品。可以简单理解类似于headless cms,但是不仅仅只提供内容,它还集成了服务订阅、即时API,用户身份认证(包括第三方身份认证,比如使用githubGoogle等账号实现快速登录和注册)、边缘函数、文件存储等功能。

Supabase is an open source Firebase alternative.

Start your project with a Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, Storage, and Vector embeddings.

截止到2024-7-1的github start数:68.2K

安装和部署

关于安装

首先,它是基于SaaS云服务的。意味着,你可以部署到自有服务器,也可以免费注册一个它的账户,然后直接创建一个组织和项目来享受免费的在线的 API后端服务。

因为只是试用,所以我并没有打算部署到自有服务器中。

那就先薅一下羊毛吧。

免费用户也拥有蛮不错的配置:

订阅服务

免费用户能享受到的配置包括:

  • 无限的接口请求
  • 5w个月活用户
  • 500M数据库存储空间
  • 5GB宽度
  • 1GB文件存储(存储图片、文件、音视频等)

这个配置如果是自己在国内云厂商买的,即使是新用户,起码也值99元首年了。

关于部署

可以部署到自有服务器,后续将更新教程。

这里我们是直接在它的官网上创建一个新的项目就可以使用它的API。

所以这里的部署指的是如何注册用户、创建组织和项目等。

1、注册用户

首先的好消息是,国内可用,不需要翻墙,而且速度有保障。

注册只需要一个email即可,然后到email接收一个验证码进行认证即可。不需要填写手机号、身份认证等。

免费注册用户

2、创建组织

创建组织,并不代表要公司名义,可以是个人。

组织名称可以在后续修改。

另外虽然我们用的是免费计划,但是可以创建多个组织和项目。

创建组织

3、创建项目

创建项目,相当于是在安装一个backend了,即后端服务。

它会帮我们创建一个PostgreSQL的数据库。

在这一步,我们只需要输入项目名称,数据库密码,然后选择区域即可。

国内建议选择新加坡。

区域选择

一切就绪,现在你就有了一个没有任何内容的后台了。

dashboard

它会给你生成一个项目的后端地址,在该地址中可以看到访问key,管理项目,对项目数据进行增删改查等。

但是它提供的supabase创建的是纯后台,只提供了一个简单的后台管理UI能对数据进行CRUD操作,所以更多时候我们需要通过前端框架,比如vuenuxtjs等进行开发来实现你的后台管理或前端页面。

这也意味着它是一个绝佳的纯API接口服务,能让我们随心制造自己想要的数据并通过接口来访问。

接下来,我们可以在该后台添加一张数据库表,以便使用postmanAPI调试工具来调试接口,为后续的API开发做准备。

创建数据库表(填充内容)

创建数据库表有2种方式,一种是可视化的table editor,另外一种是SQL editor

接下来我将使用第二种方式来运行SQL创建一张Users表。

点击SQL editor,在textarea中输入如下SQL代码:

-- Step 1: Create the trigger function
CREATE OR REPLACE FUNCTION trigger_set_timestamp()
RETURNS TRIGGER AS $$
BEGINNEW.updated_at = NOW();RETURN NEW;
END;
$$ LANGUAGE plpgsql;-- Step 2: Create the users table
CREATE TABLE users (id UUID PRIMARY KEY DEFAULT gen_random_uuid(),username VARCHAR(50) UNIQUE NOT NULL,email VARCHAR(100) UNIQUE NOT NULL,password_hash TEXT NOT NULL,created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);-- Step 3: Create the trigger to update the updated_at column
CREATE TRIGGER update_timestamp
BEFORE UPDATE ON users
FOR EACH ROW
EXECUTE FUNCTION trigger_set_timestamp();

在以上SQL中,我创建了一个触发器,为什么创建一个trigger,是因为:为了确保 updated_at 字段能够在当前行被修改后自动更新。

To ensure the updated_at column is automatically updated whenever a row is modified.

这一步还只是创建了一个包含了指定字段的空白的数据库表

填充数据库表

我们可以手动插入一条数据

插入一条数据

点击insert,这样就用可视化的方式插入了一条数据记录。

现在这个项目就已经成型了。

但是在我们使用前端创建UI界面前,我们啥都看不到。

使用postman联调API

下一篇文章,我将使用postman来联调API,为接下来的UI开发做准备。

如果你在web前端开发、面试、前端学习路线有困难可以在下方加我名片,免费答疑,行业深潜多年的技术牛人帮你解决bug。

我可提供web前端开发,网站开发、技术咨询、答疑、直播讲座等服务

祝你能成为一名优秀的WEB前端开发工程师!

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

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

相关文章

8605 删数问题

这是一个典型的贪心算法问题。我们可以从高位开始,找到第一个比后面数字大的数字,删除它,然后继续这个过程,直到删除k个数字。如果我们已经删除了k个数字,但是还没有找到一个比后面数字大的数字,那么我们就…

【多模态LLM】以ViT进行视觉表征的多模态模型1(BLIP-2、InstructBLIP)

note CLIP和BLIP的区别: CLIP:通过对比学习联合训练,预测图像和文本之间的匹配关系。即使用双塔结构,分别对图像和文本编码,然后通过计算cos进行图文匹配。BLIP:包括两个单模态编码器(图像编码…

javascript 常见设计模式

什么是设计模式? 在软件开发中,设计模式是解决特定问题的经验总结和可复用的解决方案。设计模式可以提高代码的复用性、可维护性和可读性,是提高开发效率的重要手段。 单例模式 1.概念 单例模式 (Singleton Pattern)&#xf…

单片机语音识别控制蓝牙通信

基于单片机语音识别控制&蓝牙控制 1、Arduino单片机语音控制1.1 直连1.2 蓝牙无线连接1.3 部分核心程序1.4 实物演示 2、51单片机语音控制2.1 直连2.2 蓝牙无线连接2.3 部分核心程序2.4 实物演示 3、STM32单片机语音控制3.1 直连3.2 蓝牙无线连接3.3 部分核心程序3.4 实物演…

器件频频更换为哪桩

曾想象,在一家大型研发型企业里有如下案例: 硬件工程师设计电路选择了器件库中的某器件,在批量试产产品时,却发现没有库存,即时申请采购,却发现货期相当长,一时难以采购,甚至根本不…

填志愿选专业,文科男生如何选专业?

又到了高考分数出炉,无数学子收获喜悦的季节,在分数刚出炉时,很多学生表现的异常兴奋,于他们而言,这么多年的努力终于有了收获,自己该考虑选择什么专业了。而毫不夸张的说,很多人在拿到专业目录…

HarmonyOS开发探索:使用Snapshot Insight分析ArkTS内存问题

识别内存问题 当怀疑应用存在内存问题的时候,首先使用DevEco Profiler的Allocation Insight来度量内存在问题场景下的大小变化以及整体趋势,初步定界问题出现的位置(Native Heap/ArkTS Heap/dev等)。 在初步识别内存问题出现的位置…

CentOS中使用SSH远程登录

CentOS中使用SSH远程登录 准备工作SSH概述SSH服务的安装与启动建立SSH连接SSH配置文件修改SSH默认端口SSH文件传输 准备工作 两台安装CentOS系统的虚拟机 客户机(192.168.239.128) 服务器(192.168.239.129) SSH概述 Secure S…

Mustango——音乐领域知识生成模型探索

Mustango:利用领域知识的音乐生成模型 论文地址:https://arxiv.org/pdf/2311.08355.pdf 源码地址:https://github.com/amaai-lab/mustango 论文题为**“**利用音乐领域知识开发文本到音乐模型’Mustango’”。它利用音乐领域的知识从文本指…

K 近邻、K-NN 算法图文详解

1. 为什么学习KNN算法 KNN是监督学习分类算法,主要解决现实生活中分类问题。根据目标的不同将监督学习任务分为了分类学习及回归预测问题。 KNN(K-Nearest Neihbor,KNN)K近邻是机器学习算法中理论最简单,最好理解的算法…

钉钉开放AI生态战略的真正价值到底是什么?很多人都没看懂

来源: 首席数智官 hello 大家好,我们是数字化领军者都在看的首席数智官。 关注我,每天给你讲一个商业案例。 今天我们要给你讲的是:钉钉开放AI大模型生态的战略意义到底是什么? 「谁先赢得苹果,谁就赢得…

AI大模型日报#0701:Meta发布LLM Compiler、扒一扒Sora两带头人博士论文

导读:AI大模型日报,爬虫LLM自动生成,一文览尽每日AI大模型要点资讯!目前采用“文心一言”(ERNIE-4.0-8K-latest)生成了今日要点以及每条资讯的摘要。欢迎阅读!《AI大模型日报》今日要点&#xf…

09 - matlab m_map地学绘图工具基础函数 - 绘制区域填充、伪彩色、加载图像和绘制浮雕效果的有关函数

09 - matlab m_map地学绘图工具基础函数 - 绘制区域填充、伪彩色、加载图像和绘制浮雕效果的有关函数 0. 引言1. 关于m_pcolor2. 关于m_image3. 关于m_shadedrelief4. 关于m_hatch5. 结语 0. 引言 本篇介绍下m_map中区域填充函数(m_hatch)、绘制伪彩色图…

2.2章节python的变量和常量

在Python中,变量和常量有一些基本的概念和用法,但需要注意的是,Python本身并没有内置的“常量”类型。然而,程序员通常会遵循一种约定,即使用全部大写的变量名来表示常量。 一、变量 在Python中,变量是一…

毫米波雷达深度学习技术-2.1~2.2深度度量学习和成对方法

2 深度度量学习 有几种雷达应用程序旨在对一组预定义的类别进行分类,例如不同的人类活动或手势。然而,在实际环境中,存在的类不仅仅是预定义的类,这就把问题变成了一个开放集的分类任务。开放集分类意味着网络应该能够检测输入是否…

Chapter 8 Feedback

Chapter 8 Feedback 这一章我们介绍feedback 反馈运放的原理. 负反馈是模拟电路强有力的工具. 8.1 General Considerations 反馈系统如下图所示 Aolamp open-loop gain即开环增益. Aolxo/xi β \beta β 是 feedback factor, 注意方向. β x f x o \beta\frac{x_{f}}{x_{o…

一、课程介绍,基础—环境安装、判断、循环语句等(爬虫及数据可视化)

一、课程介绍,基础—环境安装、判断、循环语句等(爬虫及数据可视化) 1. 课程介绍1.1 相关内容1.2 学习目标1.3 学习内容安排 2. python2.1 环境配置2.2 标识符和关键字2.3 运算符2.4 判断语句2.5 循环语句 1. 课程介绍 1.1 相关内容 10天的…

【pytorch11】高阶操作

高阶操作 WhereGather where 三个参数,第一个是condition,第二个参数是源头A,第三个参数是源头B,也就是说有两项数据A和B,C有可能来自于A也有可能来自于B,如果全部来自于A的话直接赋值给A,如果…

算法金 | Transformer,一个神奇的算法模型!!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 在现代自然语言处理(NLP)领域,Transformer 模型的出现带来了革命性的变…

无线物联网练习题

文章目录 选择填空简答大题 选择 不属于物联网感知技术的是(A) A:ZigBee B:红外传感器 C:FRID D:传感器 ZigBee是一种无线通信技术,虽然它常用于物联网中作为设备之间的通信手段,但它本身并不是一种感知技术 关于物联网于与互联网的区别的描述&#xff…