8000 GitHub - yuanzhongqiao/alf.io-cn: alf.io - 用于会议、贸易展览、研讨会、聚会的开源门票预订系统
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

yuanzhongqiao/alf.io-cn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

开源门票预订系统。

Alf.io是一款免费开源活动出席管理系统,专为关心客户隐私、安全和公平定价政策的活动组织者而开发。

构建状态 安全等级 可靠性评级 覆盖范围

Open Collective 上的财务贡献者 Docker Hub 拉取 开源助手

警告

由于 Alf.io v2的工作已经开始,该分支可能包含不稳定未经测试的代码。如果您想自己构建和部署 alf.io,我们强烈建议您使用2.0-M4-maintenance分支,因为它包含生产就绪的代码。

先决条件

您应该安装 Java 版本17(例如OracleOpenJDK或任何其他发行版)来构建和运行 alf.io。请注意,构建过程需要 JDK。

Postgresql 版本 10 或更高版本。

此外,创建和使用表的数据库用户不应该是“SUPERUSER”,否则将不会应用行安全策略检查。

在你的机器上运行

摇篮构建

此构建包含 Gradle 包装器的副本。您不必在系统上安装 Gradle 来构建项目。例如,只需执行包装器以及适当的任务

./gradlew clean

使用多个配置文件运行

您必须在命令行指定项目属性,例如

./gradlew -Pprofile=dev :bootRun

本地“bootRun”任务具有以下先决条件:

  • 在 localhost:5432 上启动并运行的 PostgreSQL(版本 10 或更高版本)实例
  • 具有密码的postgres用户: password
  • 名为alfio的数据库

启动后,alf.io 将在数据库中创建所有必需的表,并可通过http://localhost:8080/admin访问。您可以使用默认用户名admin和控制台上打印的密码登录。

支持以下配置文件

  • dev
  • dev-pgsql
  • docker-test

您可以通过运行获取所有支持的 Gradle 任务的列表

./gradlew tasks --all

您可以通过创建以下文件并在其中每行放入一个属性来配置其他系统属性(如果需要):

vi custom.jvmargs

请注意,由于此文件可能包含敏感信息(例如 Google 地图私有 API 密钥),因此 git 将自动忽略它。

用于调试

添加新行:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005在 custom.jvmargs 中

开发 alf.io

将 Gradle 项目导入 Intellij 和 Eclipse 都可以。

注意事项

  • 该项目使用Project Lombok。您需要安装相应的 Lombok 插件才能集成到您的 IDE 中。
  • 该项目使用TestContainers针对真实的 PostgreSQL 数据库运行集成测试。请确保您的配置满足他们的要求
如何使用 Podman 配置 TestContainers (Fedora 34)

由于 TestContainers 期望使用 docker 套接字来管理容器,因此您需要执行以下操作(有关详细信息,请参阅原始问题)

定义 2 环境。多变的:

export TESTCONTAINERS_RYUK_DISABLED=true
export DOCKER_HOST=unix:///run/user/1000/podman/podman.sock

并在另一个控制台中运行:

podman system service -t 0

需要注意的是:

  • 由于未知原因,podman 第一次下载丢失的镜像时,testcontainers 将失败。再运行一次就可以了。
  • 理论上,通过 systemd+socket 激活,服务应该自动启动,但目前我无法使其工作。

检查要更新的依赖项

./gradlew dependencyUpdates

码头工人

容器镜像可在https://hub.docker.com/r/alfio/alf.io/tags上获取。

alf.io 也可以使用 Docker Compose 运行(实验性):

docker-compose up

官方不支持使用 Docker compose 在生产环境中运行 alf.io。但是,如果您决定这样做,那么您需要进行一些更改:

  • 添加端口映射8443
  • 处理 SSL 终止(例如使用类似的东西tutum/haproxy
  • 删除环境SPRING_PROFILES_ACTIVE: dev变量

测试 alf.io 应用程序

  • 检查alfio日志:docker logs alfio
  • 将管理员密码复制到安全的地方
  • 获取您的 docker 容器的 IP:(仅在 Mac/Windows 上,在 Linux 上,代理将直接绑定到您的公共 IP)
    • boot2docker IP在 Mac/Windows 上
  • 打开浏览器:https://DOCKER_IP/admin
  • 输入用户admin和刚刚复制的密码

生成新版本的 alfio/alf.io docker 镜像

构建应用程序和 Dockerfile

./gradlew distribution

或者,您可以使用 Docker(实验性):

docker run --rm -u gradle -v "$PWD":/home/gradle/project -w /home/gradle/project gradle:7.0.0-jdk11 gradle --no-daemon distribution -x test

请注意,目前上面的命令执行构建而不运行自动化测试。需要您自担风险使用它。

创建泊坞窗图像:

docker build -t alfio/alf.io ./build/dockerize

关于包含的 AppleWWDRCAG4.cer

src/main/resources/alfio/certificates/AppleWWDRCAG4.cer 处的证书已导入https://github.com/ryantenney/passkit4j#usage功能。该证书将于 2030 年 10 月 12 日(YYYY-MM-DD - 自https://www.apple.com/certificateauthority/起)到期。

可用的弹簧型材:

  • dev:启用开发模式
  • spring-boot:由spring-boot启动时添加
  • demo:启用演示模式,管理员帐户将即时创建
  • 禁用作业:禁用作业

贡献者

代码贡献者

这个项目的存在要感谢所有做出贡献的人。

翻译贡献者 (POEditor)

还要向我们的翻译人员表示深深的“感谢”,他们在POEditor上为我们提供了帮助:

(只有在获得明确同意的情况下,我们才会显示完整的姓名/个人资料)

语言 姓名 吉图布 推特
荷兰语 (nl) 马特吉斯
土耳其语 (tr) 迪莱克
西班牙语(西班牙文) 马里奥·瓦罗纳 @姆瓦罗纳 @马里奥瓦罗纳
西班牙语(西班牙文) 塞尔吉·阿尔玛 @萨尔玛 @sergialmar
西班牙语(西班牙文) 杰里米亚斯
保加利亚语 (bg) 马丁·哲科夫 @马丁03 @MartensZone
葡萄牙语(点) 雨果
瑞典语 (sv) 约翰
罗马尼亚语 (ro) 丹尼尔
波兰语(pl) 帕维尔
丹麦语 (da) 苏内

翻译已完成但尚未整合(WIP)

语言 姓名 吉图布 推特
日语 (jp) 马丁
中文(台湾)(cn_TW) 林玉成

赞助商

该项目由以下机构赞助:

斯威克特
由浏览器堆栈提供支持开源程序

埃克斯泰索

  星际飞机   提契诺州之友   网络化

财务贡献者

成为财务贡献者并帮助我们维持我们的社区。[贡献]

个人

组织机构

与您的组织一起支持该项目。您的徽标将显示在此处,并带有指向您网站的链接。[贡献]

   

About

alf.io - 用于会议、贸易展览、研讨会、聚会的开源门票预订系统

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 71.0%
  • HTML 11.5%
  • JavaScript 9.1%
  • TypeScript 5.7%
  • MAXScript 1.1%
  • PLpgSQL 0.7%
  • Other 0.9%
0