一飞开源
阅读1876

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

一、开源项目简介

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

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

二、开源协议

使用MIT开源协议

三、界面展示

截图预览

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

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


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

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


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


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

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


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


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


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


四、功能概述

整套系统使用 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数据,如果申请不下来,可以考虑替换其他服务商。

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章