opentransport / editor
使用 CakePHP 和 AdminLTE 主题构建的基于 Web 的 GTFS 编辑器
Requires
- php: >=5.6
- ext-curl: *
- ext-json: *
- cakephp/acl: ^0.5.1
- cakephp/authentication: ^1.1
- cakephp/authorization: ^1.2
- cakephp/cakephp: 3.7.*
- cakephp/migrations: ^2.0.0
- cakephp/plugin-installer: ^1.0
- dereuromark/cakephp-queue: ^4.1
- dereuromark/cakephp-tools: ^1.9
- firebase/php-jwt: ^5.0
- friendsofcake/search: ^5.3
- ivanamat/cakephp3-markdown: ^1.1
- jeremyharris/cakephp-lazyload: ^2.1
- maiconpinto/cakephp-adminlte-theme: ^1.1
- mobiledetect/mobiledetectlib: 2.*
- riesenia/cakephp-duplicatable: ^3.1
Requires (Dev)
- cakephp/bake: ^1.9.0
- cakephp/cakephp-codesniffer: ^3.0
- cakephp/debug_kit: ^3.17.0
- josegonzalez/dotenv: 3.*
- phpunit/phpunit: ^5|^6
- psy/psysh: @stable
This package is auto-updated.
Last update: 2021-06-29 23:40:21 UTC
README
使用 CakePHP 3.7 和 AdminLTE 主题构建的基于 Web 的 GTFS 编辑器。
通用
此应用程序称为 OpenTransport,是一个完全基于 Web 的多租户 GTFS 数据编辑器,具有 REST API,可以以结构化和机器可读的方式访问数据。
此应用程序的主要目的是特别为提供旅游或历史交通服务的较小交通机构创建有效的 GTFS 馈送以嵌入到 Google Maps 中。总的来说,此项目旨在为寻找简单乘客信息方式且资金有限的较小交通机构提供解决方案。由于可以添加租户到数据中,因此也可以由多个交通机构同时使用。
需要预览吗? 查看截图集!
您只需要一个标准 Web 服务器和一个 MySQL 数据库,您可以在其中上传和运行应用程序。
安装
为用户保留尽可能简单的安装过程。您需要的是依赖管理器 [Composer]、基本的 FTP 客户端以及您的 FTP 访问和数据库凭据。要获取实际软件包,有以下选项。
-
使用 composer 下载所需的软件包。运行命令
php composer.phar create-project --prefer-dist opentransport/editor
。Composer 将为您安装一个现成的软件包。 -
如果您不想使用 Composer,您也可以从 php-download.com 下载整个软件包,搜索
opentransport/editor
。请查看他们的用户指南,了解其一般工作原理。
有关更多信息,请参阅安装指南。
初学者指南
在开始使用此编辑器之前,您应该了解 GTFS 数据的一般结构和常见时刻表数据格式结构。您可以在https://www.gtfs.org上找到关于 GTFS 的非常推荐的讲座,包括一些最佳实践。
一旦您熟悉 GTFS 和一般时刻表结构,您就可以开始使用 OpenTransport 编辑器。对于您来说有三个重要的 URL
-
前端和测试视图在
https://{yourdomain}
上 - 提供了如何使用 REST API 创建简单的信息系统的基本演示。 -
管理员后端在
https://{yourdomain}/admin
上 - 这是您的主要工作场所。在这里完成所有数据管理和后台工作。 -
REST API 端点在
https://{yourdomain}/api
上 - 从公共访问您数据库的接口。您可以通过打开此 URL 来找到有关 REST API 的文档。
计划改进
当然,我们计划对这个编辑器进行几项改进。您可以在下面找到一个小概览。如果您缺少某些功能,请随意为此打开一个增强功能的问题。
易用性
在接下来的几个版本中,我们计划提高易用性。特别是,例如,我们计划有一个专门的“网络编辑器”,以简单直观的方式添加停靠点和形状。
功能增强
-
数据导出 - 为了提供一种简单有效的方法将您的时刻表数据导出到各种时刻表数据格式,数据导出将在 版本 1.0.0 中完成。
-
实时数据 - 持续的实时数据确实能提高乘客信息的价值,这并不是什么秘密。为此,我们将扩展REST API以直接从您的车辆(例如,通过使用专门的Android应用程序)接收实时数据,并将这些实时信息纳入基本输出。
-
多模式路由 - 为了提供一种在您的网络之间计算运输路线的基本方法,我们计划基于连接扫描算法 [下载原始PDF论文] 的简单路由引擎。这不应替代专业路由引擎,因为它更具有实验性。
-
车辆数据 - 应用程序所工作的GTFS数据格式通常不支持车辆数据。OpenTransport的一个改进和好处应该是以简单的方式向您的时刻表数据提供车辆信息。
-
票价数据 - GTFS中的票价建模相当基础:它只支持一个标准票价,没有成人、儿童或优惠票价等票价类别。未来几个版本的目标将是完整的票价建模,这将启用详细的票价信息,包括在德国使用的重要票价模型。
手册
目前使用的系统手册非常基础。它将在接下来的几个版本中得到改进。
本地化
遗憾的是,该应用程序目前仅提供德语。如果您想为其他语言创建翻译,您可以使用位于src/Locale/default.pot 文件下的GetText,该文件包含要翻译成新语言的整个文本片段。
更多信息
贡献
如果您觉得PHP编程是您的强项,并且您熟悉CakePHP和一般交通信息,请随意为此项目做出贡献!只需满足一些要求:
- 请尽可能多地使用PHP编码标准
- 记录您的代码 - 至少使用PHP-Doc注释等
- 编码语言应为英语
- 尽可能多地使用
__(...)
函数进行本地化
如果您创建了一个新功能,请打开一个PR以贡献该项目。
许可证
本项目受MIT许可证许可。有关更多信息,请参阅LICENSE。