一、开源项目简介

PaoPao 一个清新文艺的微社区,一个真正意义上的高性能微社区,麻雀虽小五脏俱全。

PaoPao 定位是一款小而美的高性能微社区,同时更注重用户实际交互。

二、开源协议

使用MIT开源协议

三、界面展示

截图预览

开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图
开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图1

用户可以直接通过 “@” 去提到目标用户,也可以通过 “#” 去使用或创建自定义标签,不再需要选择传统的分类,得益于 Go 的高性能,即时是海量标签,您可以在 20ms 左右完成信息检索。

开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图2

用户可以直接通过 “@” 去提到目标用户,也可以通过 “#” 去使用或创建自定义标签,不再需要选择传统的分类,得益于 Go 的高性能,即便是海量标签,您可以在 20ms 左右完成信息检索。

开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图3

除了对常规图片、视频的支持外,泡泡还支持附件上传、外链等,并且可以设置附件价格,轻松完成知识变现。

开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图4
开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图5
开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图6
开源MIT协议,一个清新文艺的高性能微社区,麻雀虽小五脏俱全插图7

总而言之,泡泡定位是一款小而美的高性能微社区,同时更注重用户实际交互,欢迎注册体验。

四、功能概述

整套系统使用 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/ 下载源码。

后端

  1. 导入项目根目录下的 paopao.sql 文件至MySQL数据库
  2. 拷贝项目根目录下 config.yaml.sample 文件至 config.yaml,按照注释完成配置编辑
  3. 编译后端go mod download go build .
  4. 启动后端chmod +x paopao-api ./paopao-api

前端

  1. 进入前端目录 web,编辑 .env 文件中后端服务地址,下载依赖包
  2. cd ./web vim .env yarn
  3. 编译前端
  4. yarn build
  5. build完成后,可以在dist目录获取编译产出,配置nginx指向至该目录即可

其他

建议后端服务使用 supervisor 守护进程,并通过nginx反向代理后,提供API给前端服务调用。 短信通道使用的juhe数据,如果申请不下来,可以考虑替换其他服务商。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。