项目简介
PaoPao 一个清新文艺的微社区,一个真正意义上的高性能微社区,麻雀虽小五脏俱全。
PaoPao 定位是一款小而美的高性能微社区,同时更注重用户实际交互。
截图预览
用户可以直接通过“@”去提到目标用户,也可以通过“#”去使用或创建自定义标签,不再需要选择传统的分类,得益于Go的高性能,即时是海量标签,您可以在20ms左右完成信息检索。
除了对常规图片、视频的支持外,PaoPao 还支持附件上传、外链等,并且可以设置附件价格,轻松完成知识变现。
功能概述
整套系统使用 Go+Zinc 的架构,前端由 Vue3 构建,采用小清新风格,布局类似 Twitter 的三栏设计。
用 Go 写的后端服务运行内存仅 8MB,在单实例 100QPS 时,内存也能稳定在 20MB 左右,资源占用极低。
全文检索用 Zinc 替代了笨重的 ElasticSearch,10 万条数据运行内存在 10MB 左右。
提供明暗两套主题,可以根据系统主题色自动切换。
环境要求
- Go (1.17+)
- Node.js (14+)
- MySQL (5.7+)
- Redis
- Zinc
* Zinc是一款轻量级全文搜索引擎。
以上环境版本为PaoPao官方的开发版本,仅供参考,其他版本的环境未进行充分测试
后端
- 导入项目根目录下的 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数据,如果申请不下来,可以考虑替换其他服务商。
本站所有文章,如无特殊说明或标注,均为本站原创发布;任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台;如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
如果下载链接失效的话,请劳烦您在评论区反馈,以便我们及时处理。