开源原型设计工具Penpot

embedded/2024/10/19 6:22:24/

Penpot是一个现代化、开源的协同设计平台,专为跨职能团队打造,提供了强大的在线设计和原型制作功能。

以下是对Penpot的详细介绍:

一、平台特点

  1. 开源与免费:Penpot是一个完全免费且开放源代码的项目,允许社区贡献和定制,用户还可以选择将其部署到自己的服务器上,确保数据的安全与自主控制。
  2. 跨平台与兼容性:Penpot基于Web技术构建,不依赖于特定的操作系统,可在任何现代浏览器上流畅运行,支持Windows、macOS和Linux等操作系统。此外,它还选择了SVG作为核心文件格式,保证了设计作品的高质量输出与可编辑性,并促进了与其他矢量编辑工具的兼容性。
  3. 多用户协作:支持多用户实时查看和编辑项目,团队成员可以共同创建、分享和迭代设计项目,提高工作效率并简化工作流程。

二、核心功能

  1. 设计工具集:内置矢量绘图工具,支持形状、文本、图像操作,以及自定义颜色和样式,满足设计师的各种需求。
  2. 原型设计:允许用户创建交互式原型,设置页面间跳转,预览并分享给团队或客户,以便更好地测试和验证设计想法。
  3. 资产库:管理重复使用的元素,如图标、照片和图形,保持设计的一致性,并提升团队协作的效率。
  4. 版本控制:跟踪项目的每个更改,并允许用户轻松回滚到以前的状态,确保设计项目的稳定性和可追溯性。
  5. 权限管理:提供精细的权限控制功能,允许管理员设置团队成员的角色和访问级别,保护敏感信息。

三、技术优势

  1. 技术栈:Penpot采用了React、Puppeteer、Node.js和MongoDB等现代技术栈,确保了平台的性能和稳定性。同时,它还提供了GraphQL API,方便与其他工具和服务集成。
  2. 微服务架构:遵循微服务架构原则,使各个组件能够独立开发和扩展,保证了系统的可维护性和伸缩性。
  3. 隐私与安全:所有数据都经过加密传输,保护用户的创意不受侵犯。

四、应用场景

Penpot广泛应用于产品设计、UI/UX设计、网站开发等领域。它可以帮助团队实现设计与开发之间的无缝协作,减少沟通成本,提高项目的整体效率和质量。

五、本地部署

1、下载yml文件

https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml

version: "3.8"
networks:penpot:
volumes:penpot_postgres_v15:penpot_assets:
services:penpot-frontend:image: "penpotapp/frontend:latest"restart: alwaysports:- 9001:80volumes:- penpot_assets:/opt/data/assetsdepends_on:- penpot-backend- penpot-exporternetworks:- penpotlabels:- "traefik.enable=true"environment:- PENPOT_FLAGS=enable-registration enable-login-with-passwordpenpot-backend:image: "penpotapp/backend:latest"restart: alwaysvolumes:- penpot_assets:/opt/data/assetsdepends_on:- penpot-postgres- penpot-redisnetworks:- penpotenvironment:- PENPOT_FLAGS=enable-registration enable-login-with-password disable-email-verification enable-smtp enable-prepl-server# - PENPOT_PREPL_HOST=0.0.0.0- PENPOT_PUBLIC_URI=http://localhost:9001- PENPOT_DATABASE_URI=postgresql://penpot-postgres/penpot- PENPOT_DATABASE_USERNAME=penpot- PENPOT_DATABASE_PASSWORD=penpot- PENPOT_REDIS_URI=redis://penpot-redis/0- PENPOT_ASSETS_STORAGE_BACKEND=assets-fs- PENPOT_STORAGE_ASSETS_FS_DIRECTORY=/opt/data/assets- PENPOT_TELEMETRY_ENABLED=true- PENPOT_SMTP_DEFAULT_FROM=no-reply@example.com- PENPOT_SMTP_DEFAULT_REPLY_TO=no-reply@example.com- PENPOT_SMTP_HOST=penpot-mailcatch- PENPOT_SMTP_PORT=1025- PENPOT_SMTP_USERNAME=- PENPOT_SMTP_PASSWORD=- PENPOT_SMTP_TLS=false- PENPOT_SMTP_SSL=falsepenpot-exporter:image: "penpotapp/exporter:latest"restart: alwaysnetworks:- penpotenvironment:# Don't touch it; this uses internal docker network to# communicate with the frontend.- PENPOT_PUBLIC_URI=http://penpot-frontend## Redis is used for the websockets notifications.- PENPOT_REDIS_URI=redis://penpot-redis/0penpot-postgres:image: "postgres:15"restart: alwaysstop_signal: SIGINTvolumes:- penpot_postgres_v15:/var/lib/postgresql/datanetworks:- penpotenvironment:- POSTGRES_INITDB_ARGS=--data-checksums- POSTGRES_DB=penpot- POSTGRES_USER=penpot- POSTGRES_PASSWORD=penpotpenpot-redis:image: redis:7restart: alwaysnetworks:- penpotpenpot-mailcatch:image: sj26/mailcatcher:latestrestart: alwaysexpose:- '1025'ports:- "1080:1080"networks:- penpot

 打开终端或命令提示符,切换到包含docker-compose.yaml文件的目录,然后运行以下命令来启动Penpot服务:

docker-compose -p penpot -f docker-compose.yaml up -d
  • 在浏览器中输入http://localhost:9001(或者你在docker-compose.yaml文件中设置的端口号),即可访问Penpot的Web界面。

 

六、社区与生态

Penpot拥有一个活跃的开源社区,用户可以在其中分享经验、交流心得,并参与到平台的开发和改进中来。此外,Penpot还提供了丰富的文档和教程资源,帮助用户快速上手并充分利用平台的功能。

综上所述,Penpot是一个功能强大、易于集成且注重隐私安全的开源协同设计平台。它为跨职能团队提供了高效的在线设计和原型制作解决方案,有助于提升团队协作效率并推动项目的成功实施。


http://www.ppmy.cn/embedded/100080.html

相关文章

云计算实训33——高并发负载均衡项目(eleme)

一、配置一主两从mysql服务器(mysql5.7) 1.主服务器master 下载mysql5.7的包 [rootMysql ~]# rz -E rz waiting to receive. [rootMysql ~]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz #解压 [rootMysql ~]# tar -zxf mysql-5…

苹果发布iOS 18 Beta 7更新:RC准正式版正在路上

苹果发布iOS 18 开发者预览版Beta 7更新,版本号为22A5346a。 值得注意的是,本次更新版本号以a结尾,意味着如果不出意外,iOS 18 RC准正式版将于下个版本发布,距离正式版发布又近一步。 另外,知名苹果分析师马…

(第三期)书生大模型实战营——OpenXLab部署InternLM2实践——上传模型

OpenXLab 部署 InternLM2 实践指南 上传模型 初始化git设置 # install git sudo apt-get update sudo apt-get install git# install git lfs sudo apt-get update sudo apt-get install git-lfs# use git install lfs git lfs installOpenXLab 使用你在平台的用户名作为 Git…

Qt坐标系统之三个坐标系和两个变换

前言 Qt坐标系统由QPainter类控制。它和QPaintDevice和QPaintEngine类一起构成Qt绘图系统的基础。QPainter用于执行绘图操作,QPaintDevice是QPainter用来绘制的一个二维空间的抽象,QPaintEngine提供在不同设备绘图的接口。 Qt 的坐标分为逻辑坐标和物理…

Java 使用ListUtils对List分页处理

背景分析 工作中,经常遇到需要用Java进行分页处理数据,例如把1000万条Excel数据写入MySQL数据库,如果把这1000w数据一股脑的丢给MySQL,保证把数据库玩完,故需要批量写入,如每批次写入500条。这时候就可以使…

驱动:insmod

一、驱动模块的加载 1. 静态 编译进内核2. 动态 编译成模块 如下: 解决方法 结果 led电灯例子 创建一个led.c 修改Makefile、Kconfigmake modulescp drivers/char/led.ko /home/linux/nfs/rootfs开发板 insmod led.ko去 /home/linux/nfs/rootfs 上 写程序.carm-l…

torch.einsum详解

torch.einsum 是 PyTorch 中用于执行高效张量运算的函数,基于爱因斯坦求和约定(Einstein summation convention)。它能够处理复杂的张量操作,并简化代码书写。 基本语法 torch.einsum(subscripts, *operands)subscripts&#xf…

【docker compose 部署和 go 热部署工具fresh】

文章目录 docker-compose.yml 文件配置得很全面,以下是一些注释安装 fresh配置 fresh注意事项 docker-compose.yml 文件配置得很全面,以下是一些注释 version: 3 services:# MySQL 服务geekai-mysql:image: registry.cn-shenzhen.aliyuncs.com/geekmast…