noud / gripp_client_symfony
Gripp 客户端 Symfony
Requires
- php: ^7.1.3
- ext-ctype: *
- ext-iconv: *
- api-platform/api-pack: ^1.2
- doctrine/annotations: ^1.10
- doctrine/doctrine-cache-bundle: ^1.4
- endroid/qr-code-bundle: ^3.4
- jeroendesloovere/vcard-bundle: ^1.2
- kevinpapst/adminlte-bundle: ^3.2
- lexik/jwt-authentication-bundle: ^2.6
- nelmio/cors-bundle: ^2.0
- noud/gripp_api: ^3.0
- psr/simple-cache: ^1.0
- scheb/two-factor-bundle: ^4.14
- sensio/framework-extra-bundle: ^5.5
- sensiolabs/security-checker: ^6.0
- sonata-project/admin-bundle: ^3.73.0
- sonata-project/doctrine-orm-admin-bundle: ^3.21.0
- sonata-project/exporter: ^2.3
- sonata-project/formatter-bundle: ^4.2
- stof/doctrine-extensions-bundle: ^1.4
- symfony/apache-pack: ^1.0
- symfony/cache: ^4.4
- symfony/console: ^4.4
- symfony/dotenv: ^4.4
- symfony/flex: ^1.9
- symfony/form: ^4.4
- symfony/framework-bundle: ^4.4
- symfony/orm-pack: ^1.0
- symfony/security-bundle: ^4.4
- symfony/serializer-pack: *
- symfony/translation: ^4.4
- symfony/twig-bundle: ^4.4
- symfony/validator: ^4.4
- symfony/webpack-encore-bundle: ^1.7
- symfony/yaml: ^4.4
- timiki/rpc-server-bundle: ^4.1
- twig/extra-bundle: ^3.0
- webonyx/graphql-php: ^0.13
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.14
- phpmd/phpmd: ^2.6
- phpstan/phpstan-doctrine: ^0.11.2
- phpstan/phpstan-phpunit: ^0.11.0
- phpstan/phpstan-symfony: ^0.11.3
- symfony/debug: ^4.4
- symfony/debug-pack: *
- symfony/maker-bundle: ^1.2
- symfony/profiler-pack: *
- symfony/test-pack: *
Conflicts
- dev-master
- dev-dependabot/npm_and_yarn/express-4.18.2
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/terser-4.8.1
- dev-dependabot/npm_and_yarn/moment-2.29.4
- dev-dependabot/npm_and_yarn/eventsource-1.1.1
- dev-dependabot/npm_and_yarn/async-2.6.4
- dev-dependabot/npm_and_yarn/minimist-1.2.6
- dev-dependabot/npm_and_yarn/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/follow-redirects-1.14.8
- dev-dependabot/composer/twig/twig-2.14.11
- dev-dependabot/npm_and_yarn/object-path-0.11.8
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/ws-6.2.2
- dev-dependabot/npm_and_yarn/dns-packet-1.3.4
- dev-dependabot/composer/lexik/jwt-authentication-bundle-2.10.7
- dev-dependabot/composer/symfony/security-core-4.4.23
- dev-dependabot/npm_and_yarn/hosted-git-info-2.8.9
- dev-dependabot/npm_and_yarn/ssri-6.0.2
- dev-dependabot/npm_and_yarn/vis-timeline-7.4.4
- dev-dependabot/npm_and_yarn/elliptic-6.5.4
- dev-dependabot/npm_and_yarn/node-notifier-8.0.1
- dev-sso
This package is auto-updated.
Last update: 2024-09-29 05:21:57 UTC
README
架构
使用
这是一个与 Gripp API v3 进行交互的 Symfony 客户端应用程序,并演示了 Gripp API 的使用。
Gripp 在这里 Gripp API v3
并演示 Gripp API 的使用。
该应用程序与使用的实体高度独立,是编写通用代码和采用 API-First 开发以促进 快速应用开发 (RAD) 过程的典范。
API 前端
该应用程序以客户端身份消耗 Gripp API,同时本身也提供了各种 API 服务器接口。
- GraphQL 以及其自带的 GraphiQL 浏览器内 IDE 和生成的 API 文档
- Gatsby React 静态 渐进式网络应用 (PWA),移动应用
- RESTful
- Swagger OpenAPI 及其生成的 API 文档
- Hydra 和 JSON-LD
- React Admin
- React Next Express 前端
- React Redux 渐进式网络应用 (PWA),移动应用
- Vue 单页应用程序 (SPA),Web 应用或网站
- JSON:API
- HAL
- JSON
- XML
- YAML
- CSV
- HTML
- JSON-RPC
导出
Web 应用程序可以将数据导出到您的桌面
- CSV
- vCard 作为扩展(*) Writer
- JSON
- Microsoft Excel
- XML
*) 扩展 Writer 是本项目的组成部分,目前仍处于 概念验证 (PoC) 阶段。
安全
该应用程序采用了多种安全措施
- GitHub 安全性
- Symfony 安全监控
- 结构化查询语言 (SQL) 注入 保护
- 跨站请求伪造 (CSRF) 保护
- bcrypt 密码散列
- 双因素认证 (2FA) 使用 Google Authenticator App
- Bearer 认证 用于 JSON-RPC API 服务器
- JWT 认证 用于 RESTful API 服务器
- 使用跨源资源共享(CORS)头部为RESTful API服务器设置
配置
将此本地主机名添加到您的DNS中。
127.0.0.1 gripp.localhost
启动Docker。使用PHP Composer和JavaScript Node.js NPM包配置应用程序。
bin/docker_start.sh bin/provision.sh
生成
我们使用PHP生成应用程序的大部分内容
- JSON到JSON 表架构使用PHP
- JSON 表架构到数据库架构使用tableschema-sql-js
- 生成模型使用扩展(*) Doctrine对象关系映射器(ORM) ImportMapping命令
- 生成视图使用扩展(*) SONATA PROJECT的AdminMaker命令使用Symfony MakerBundle
*) 扩展代码生成器是此项目的一部分,仍然是原型(PoC)。
前两步已经完成,位于此项目范围之外。您需要执行最后两步,导入数据库架构并生成实体和视图,以下是方法
导入数据库架构和关系。
mysql -u root -p db_name< db/schema.sql mysql -u root -p db_name< db/relations.sql
生成实体和管理网页。迁移并加载示例数据
bin/generate.sh
bin/console doctrine:migrations:migrate
mysql -u root -p db_name< db/data.sql
测试
首先启动并进入您的Docker工作区
bin/docker_workspace.sh
在那里运行
bin/phpunit
用法
浏览到登录界面
/opt/google/chrome/chrome http://gripp.localhost/sonata
您将需要输入您的凭据
用户名demo和密码demo将可以登录。(不活跃的用户名nodemo和密码nodemo将不允许登录。)如果您成功登录,您可以在右上角下拉菜单中导航到您的登录凭据
如您所看到的,在右上角的消息和任务导航项以及任务下拉菜单中,应用程序使用AdminLTE 2 Bootstrap 3模板。
开发
请随意贡献。
做出的贡献
尽可能多地使用现有代码,一些项目已经接受了拉取请求
工具
使用Eclipse PDT Extension组Symfony框架插件(Eclipse Marketplace)创建
Eclipse是一个免费开源项目,随着您的贡献而成长。