一、开源项目简介
PaoPao 一个清新文艺的微社区,一个真正意义上的高性能微社区,麻雀虽小五脏俱全。
PaoPao 定位是一款小而美的高性能微社区,同时更注重用户实际交互。
二、开源协议
使用MIT开源协议
三、界面展示
截图预览
用户可以直接通过 “@” 去提到目标用户,也可以通过 “#” 去使用或创建自定义标签,不再需要选择传统的分类,得益于 Go 的高性能,即时是海量标签,您可以在 20ms 左右完成信息检索。
用户可以直接通过 “@” 去提到目标用户,也可以通过 “#” 去使用或创建自定义标签,不再需要选择传统的分类,得益于 Go 的高性能,即便是海量标签,您可以在 20ms 左右完成信息检索。
除了对常规图片、视频的支持外,泡泡还支持附件上传、外链等,并且可以设置附件价格,轻松完成知识变现。
总而言之,泡泡定位是一款小而美的高性能微社区,同时更注重用户实际交互,欢迎注册体验。
四、功能概述
整套系统使用 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)