• 正文概述
  • 售后服务
  • 源码介绍:

    泡泡是一个真正意义上高性能的微社区,虽然规模不大却拥有完备的功能。

    该系统采用了Go+Zinc架构,前端使用Vue3进行构建,采用清新简洁的设计风格,布局类似Twitter的三栏设计。

    后端服务使用Go编写,仅占用8MB的内存,在单实例每秒100次请求的情况下,内存稳定在约20MB左右,资源消耗非常低。

    全文检索功能用轻量级的Zinc替代了笨重的ElasticSearch,在拥有10万条数据时,其内存占用也只有约10MB左右。

     

    #### 后端

    1. 导入项目根目录下的 `scripts/paopao.sql` 文件至MySQL数据库

    2. 拷贝项目根目录下 `config.yaml.sample` 文件至 `config.yaml`,按照注释完成配置编辑

    3. 编译后端

    编译api服务:

    “`sh

    make build

    “`

    编译api服务、内嵌web前端ui:

    “`sh

    make build TAGS=’embed’

    “`

    编译后在`release`目录可以找到对应可执行文件。

    “`sh

    release/paopao-ce

    “`

    4. 直接运行后端

    运行api服务:

    “`sh

    make run

    “`

    运行api服务、web前端ui服务:

    “`sh

    make run TAGS=’embed’

    “`

    提示: 如果需要内嵌web前端ui,请先构建web前端(建议设置web/.env为VITE_HOST=””)。

    5. 使用内置的Migrate机制自动升级维护SQL DDL:

    “`sh

    # 添加 Migration 功能到 Features 中 开启migrate功能

    vim config.yaml

    # file: config.yaml

    # Features:

    # Default: [“Base”, “MySQL”, “Zinc”, “MinIO”, “LoggerZinc”, “Migration”]

    # 编译时加入migration tag编译出支持migrate功能的可执行文件

    make build TAGS=’migration’

    release/paopao-ce

    # 或者 带上migration tag直接运行

    make run TAGS=’migration’

    “`

    > 注意:默认编译出来的可执行文件是不内置migrate功能,需要编译时带上migration tag才能内置支持migrage功能。

    #### 前端

    1. 进入前端目录 `web`,拷贝`.env` 到 `.env.local`,编辑 `.env.local ` 文件中后端服务地址及其他配置项,下载依赖包

    “`sh

    cd ./web && cp .env .env.local

    vim .env.local

    yarn

    “`

    2. 编译前端

    “`sh

    yarn build

    “`

    build完成后,可以在dist目录获取编译产出,配置nginx指向至该目录即可

    #### 桌面端

    1. 进入前端目录 `web`,拷贝`.env` 到 `.env.local`,编辑 `.env.local ` 文件中后端服务地址及其他配置项,下载依赖包

    “`sh

    cd ./web && cp .env .env.local

    vim .env.local

    yarn

    “`

    2. 编译前端

    “`sh

    yarn build

    “`

    3. 构建桌面端

    “`sh

    yarn tauri build

    “`

    桌面端是使用[Rust](https://www.rust-lang.org/) + [tauri](https://github.com/tauri-apps/tauri)编写

    的,需要安装tauri的依赖,具体参考[https://tauri.studio/v1/guides/getting-started/prerequisites](https://tauri.studio/v1/guides/getting-started/prerequisites).

    ### 方式二. 使用Docker构建、运行

    * 后端:

    “`sh

    # 默认参数构建, 默认内嵌web ui并设置api host为空

    docker build -t your/paopao-ce:tag .

    # 内嵌web ui并且自定义API host参数

    docker build -t your/paopao-ce:tag –build-arg API_HOST=http://api.paopao.info .

    # 内嵌web ui并且使用本地web/.env中的API host

    docker build -t your/paopao-ce:tag –build-arg USE_API_HOST=no .

    # 内嵌web ui并且使用本地编译的web/dist构建

    docker build -t your/paopao-ce:tag –build-arg USE_DIST=yes .

    # 只编译api server

    docker build -t your/paopao-ce:tag –build-arg EMBED_UI=no .

    # 运行

    mkdir custom && docker run -d -p 8008:8008 -v ${PWD}/custom:/app/paopao-ce/custom -v ${PWD}/config.yaml.sample:/app/paopao-ce/config.yaml your/paopao-ce:tag

    # 或者直接运行构建好的docker image

    mkdir custom && docker run -d -p 8008:8008 -v ${PWD}/custom:/app/paopao-ce/custom -v ${PWD}/config.yaml.sample:/app/paopao-ce/config.yaml bitbus/paopao-ce:latest

    “`

    * 前端:

    “`sh

    cd web

    # 默认参数构建

    docker build -t your/paopao-ce:web .

    # 自定义API host 参数构建

    docker build -t your/paopao-ce:web –build-arg API_HOST=http://api.paopao.info .

    # 使用本地编译的dist构建

    docker build -t your/paopao-ce:web –build-arg USE_DIST=yes .

    # 运行

    docker run -d -p 8010:80 your/paopao-ce:web

    “`

    ### 方式三. 使用 docker-compose 运行

    “`sh

    git clone https://github.com/rocboss/paopao-ce.git

    cd paopao-ce && docker compose up -d

    # visit http://localhost:8008 ?? paopao-ce

    # visit http://localhost:8001 ?? RedisInsight

    # visit http://localhost:8080 ?? phpMyAdmin

    “`

    默认是使用config.yaml.sample的配置,如果需要自定义配置,请拷贝默认配置文件(比如config.yaml),修改后再同步配置到docker-compose.yaml如下:

    “`

    # file: docker-compose.yaml

    backend:

    image: bitbus/paopao-ce:latest

    restart: always

    depends_on:

    – db

    – redis

    – zinc

    # modify below to reflect your custom configure

    volumes:

    – ./config.yaml:/app/paopao-ce/config.yaml

    ports:

    – 8008:8008

    networks:

    – paopao-network

    ….

    “`

    > 注意:默认提供的 docker-compose.yaml 初衷是搭建本机开发调试环境,如果需要产品部署供外网访问,请自行调优配置参数或使用其他方式部署。

    ### 开发文档

    #### Docs文档说明

    `docs`目录提供了各种开发文档,包括:

    * [deploy](docs/deploy/) – paopao-ce部署文档

    * [discuss](docs/discuss/) – 开发相关的问题交流论述文档

    * [openapi](docs/openapi/) – paopao-ce后端导出API文档

    * [proposal](docs/proposal/) – paopao-ce功能特性提按文档

    > 比如,关于paopao-ce的设计定位,可以参考[docs/proposal/001-关于paopao-ce的设计定位](docs/proposal/001-关于paopao-ce的设计定位.md),简要阐述了paopao-ce是如何定位自身的。

    #### API文档

    开发者可以在本地开启`Docs`服务,浏览后端导出的API服务接口文档。

    * `config.yaml` 添加 `Docs` 功能项:

    “`yaml

    Features:

    Default: [“Base”, “MySQL”, “Option”, “LocalOSS”, “LoggerFile”, “Docs”]

    Docs: [“Docs:OpenAPI”]

    “`

    * 构建时将 `docs` 添加到TAGS中:

    “`sh

    make run TAGS=’docs’

    # visit http://127.0.0.1:8011/docs/openapi

    “`

    ### 配置说明

    `config.yaml.sample` 是一份完整的配置文件模版,paopao-ce启动时会读取`./custom/config.yaml`、`./config.yaml`任意一份配置文件(优先读取最先找到的文件)。

    “`sh

    cp config.yaml.sample config.yaml

    vim config.yaml # 修改参数

    paopao-ce

    “`

    配置文件中的 `Features` 小节是声明paopao-ce运行时开启哪些功能项:

    “`yaml

    Features:

    Default: [“Base”, “MySQL”, “Option”, “LocalOSS”, “LoggerFile”]

    Develop: [“Base”, “MySQL”, “Option”, “Sms”, “AliOSS”, “LoggerZinc”]

    Demo: [“Base”, “MySQL”, “Option”, “Sms”, “MinIO”, “LoggerZinc”]

    Slim: [“Base”, “Sqlite3”, “LocalOSS”, “LoggerFile”]

    Base: [“Zinc”, “Redis”, “Alipay”,]

    Option: [“SimpleCacheIndex”]

    Sms: “SmsJuhe”

    “`

    如上:

    Default/Develop/Demo/Slim 是不同 功能集套件(Features Suite), Base/Option 是子功能套件, Sms是关于短信验证码功能的参数选项。

    这里 `Default`套件 代表的意思是: 使用`Base/Option` 中的功能,外加 `MySQL/LocalOSS/LoggerFile`功能,也就是说开启了`Zinc/Redis/Alipay/SimpleCacheIndex/MySQL/LocalOSS/LoggerFile` 7项功能;

    `Develop`套件依例类推。

    使用Feautures:

    “`sh

    release/paopao-ce –help

    Usage of release/paopao-ce:

    -features value

    use special features

    -no-default-features

    whether use default features

    # 默认使用 Default 功能套件

    release/paopao-ce

    # 不包含 default 中的功能集,仅仅使用 develop 中声明的功能集

    release/paopao-ce –no-default-features –features develop

    # 使用 default 中的功能集,外加 sms 功能

    release/paopao-ce –features sms

    # 手动指定需要开启的功能集

    release/paopao-ce –no-default-features –features sqlite3,localoss,loggerfile,redis

    “`

    本站所提供的部分资源来自于网络,版权争议与本站无关,版权归原创者所有!仅限用于学习和研究目的,不得将上述内容资源用于商业或者非法用途,否则,一切后果请用户自负。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源。如果上述内容资对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!如用于商业或者非法用途,与本站无关,一切后果请用户自负!本站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。如有侵权、不妥之处,请联系站长以便删除!
    金点网络-全网资源,一网打尽 » 高性能的清新文艺微社区源码下载-paopao微社区

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
    是否提供免费更新服务?
    持续更新,永久免费
    是否经过安全检测?
    安全无毒,放心食用

    提供最优质的资源集合

    立即加入 友好社区
    ×