项目简介
本项目是一个全栈的实时聊天系统,为Slack的复制版本。前端借助Next.js框架搭建,利用Supabase.js实现用户管理和实时数据同步;后端采用Supabase提供的带有restful API的托管Postgres数据库。
项目的主要特性和功能
- 实时数据同步:不同浏览器标签间可实时更新消息,带来流畅聊天体验。
- 用户管理:利用Supabase的身份验证和授权机制,管理用户登录与注册。
- 角色权限管理:支持基于角色的访问控制(RBAC),特定邮箱注册可分配管理员和版主角色。管理员可删所有消息和频道,版主可删特定消息。
- 高度安全:运用Postgres行级安全特性,精细控制用户操作权限,保障数据安全和隐私。
安装使用步骤
假设用户已下载项目源码文件,按以下步骤操作:
1. 创建Supabase项目:在https://app.supabase.com注册并创建新项目,等待数据库启动。
2. 运行快速入门:数据库启动后,运行 "Slack Clone" 快速入门。
3. 获取URL和密钥:进入项目设置,打开API标签,获取API URL和anon
密钥。
4. 配置环境变量:将获取的API URL和anon
密钥设置到.env.local
文件中,若有需要,可更改认证设置。
5. 安装依赖并启动开发服务器:
bash
npm install
npm run dev
yarn
yarn dev
6. 开始聊天:访问http://localhost:3000,在两个浏览器标签中打开一个频道,体验实时聊天功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】