一、开源项目简介
PaoPao 一个清新文艺的微社区,一个真正意义上的高性能微社区,麻雀虽小五脏俱全。
PaoPao 定位是一款小而美的高性能微社区,同时更注重用户实际交互。
二、开源协议
使用MIT开源协议
三、界面展示
截图预览
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211457.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图1 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图1](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211256.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
用户可以直接通过 “@” 去提到目标用户,也可以通过 “#” 去使用或创建自定义标签,不再需要选择传统的分类,得益于 Go 的高性能,即时是海量标签,您可以在 20ms 左右完成信息检索。
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图2 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图2](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211201.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
用户可以直接通过 “@” 去提到目标用户,也可以通过 “#” 去使用或创建自定义标签,不再需要选择传统的分类,得益于 Go 的高性能,即便是海量标签,您可以在 20ms 左右完成信息检索。
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图3 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图3](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211344.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
除了对常规图片、视频的支持外,泡泡还支持附件上传、外链等,并且可以设置附件价格,轻松完成知识变现。
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图4 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图4](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211665.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图5 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图5](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211349.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图6 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图6](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211447.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
![开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图7 开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图7](https://lanmeijiang.cdn.ruantang.net/wp-content/uploads/2022/08/20220803065211508.jpg?imageView2/0/format/webp/interlace/1/q/90|imageslim)
总而言之,泡泡定位是一款小而美的高性能微社区,同时更注重用户实际交互,欢迎注册体验。
四、功能概述
整套系统使用 Go+Zinc 的架构,前端由 Vue3 构建,采用小清新风格,布局类似 Twitter 的三栏设计。
用 Go 写的后端服务运行内存仅 8MB,在单实例 100QPS 时,内存也能稳定在 20MB 左右,资源占用极低。
全文检索用 Zinc 替代了笨重的 ElasticSearch,10 万条数据运行内存在 10MB 左右。
提供明暗两套主题,可以根据系统主题色自动切换。
五、技术选型
技术栈
PaoPao主要由以下优秀的开源项目/工具构建
- Go
- Gin
- Zinc
- Naive UI
- Vue.js
- Vite.js
环境要求
- Go (1.17+)
- Node.js (14+)
- MySQL (5.7+)
- Redis
- Zinc
* Zinc是一款轻量级全文搜索引擎。
以上环境版本为PaoPao官方的开发版本,仅供参考,其他版本的环境未进行充分测试
安装说明
访问蓝莓酱:https://code.exmay.com/ 下载源码。
后端
- 导入项目根目录下的 paopao.sql 文件至MySQL数据库
- 拷贝项目根目录下 config.yaml.sample 文件至 config.yaml,按照注释完成配置编辑
- 编译后端go mod download go build .
- 启动后端chmod +x paopao-api ./paopao-api
前端
- 进入前端目录 web,编辑 .env 文件中后端服务地址,下载依赖包
- cd ./web vim .env yarn
- 编译前端
- yarn build
- build完成后,可以在dist目录获取编译产出,配置nginx指向至该目录即可
其他
建议后端服务使用 supervisor 守护进程,并通过nginx反向代理后,提供API给前端服务调用。 短信通道使用的juhe数据,如果申请不下来,可以考虑替换其他服务商。
评论(0)