inewlegend / appbasis
dev-master
2020-11-28 10:09 UTC
Requires
- bjeavons/zxcvbn-php: @stable
- cboden/ratchet: @stable
- clue/block-react: @stable
- monolog/monolog: @stable
- react/event-loop: @stable
- react/http: @stable
- react/http-client: @stable
- react/mysql: @stable
- react/promise-timer: @stable
- react/socket: @stable
This package is auto-updated.
Last update: 2024-09-28 18:05:28 UTC
README
-
backend - ReactPHP 模块化服务器基础
- configs, controllers, guards, models, modules, library, friends
- core -> 主要功能
- configs -> 配置
- controllers -> 控制器逻辑
- guards -> 当控制器需要额外条件时进行安全控制
- models -> 处理数据库查询
- library -> 额外函数
- services -> .
- friends -> 服务器引擎
- ext -> 插件
-
前端(s)
- 简单的 Angular、React 基础。
- 良好的 API 结构
- WebSocket 支持
状态
后端: 开发中
Angular 前端: 开发中
React 前端: 尚未工作。
路线图
- 待办事项
目标
- 全异步。
- 模块化
- 结构良好
- 易于阅读
- 多引擎支持
- 前端(s): Angular、React
演示
http://138.201.155.5/leo123/dist
视频
后端
前端
安装
$ git clone https://github.com/iNewLegend/AppBasis.git
后端
$ mysql $ > create database appbasis $ > quit $ mysql < appbasis.sql $ cd appbasis $ composer update $ php appbasis.php server
前端
$ cd frontend/angular
$ ng serve
待办事项
后端
- 添加: 将日志记录到文件并进行轮换。
- 避免: 所有核心类不应直接创建类,您应使用
辅助。 - 思考: 为所有核心类添加基类
- 检查: 验证码应该是异步的。
- 避免: 尽量避免使用 try 和 catch。
- 添加: 在数据库的 tbl: users 中添加唯一的电子邮件。
- 问题: 当您成功登录时删除所有
bad尝试的安全性 - 检查-添加: 在
controllers/welcome方法updates中添加异步远程请求方法 - 添加缓存 (检查-是否良好: https://github.com/reactphp/cache) - 重构:
core/container添加方法 - 优化: 记录器
- 更改: 配置服务日志不易理解。
- 检查: 在项目中查找所有
mixed单词,并变得聪明。 - 添加: 在数据库中,处理 created_at 和 updated_at : - https://medium.com/@bengarvey/use-an-updated-at-column-in-your-mysql-table-and-make-it-update-automatically-6bf010873e6a
- 添加: 安全性
wrk -t4 -c500 -d10s https://:51190/authorization/login/czf.leo123@gmail.com/badpass - 更改: 在聊天控制器函数中,Core\Handler 调用钩子,它应该是一个实现
- 添加: 文档 appbasis.php 命令。
- 添加: 数据库防注入,使用查询参数
前端
Angular
- 记录器应该更好,它应该更好地展示客户端架构
- 以良好的方式处理服务器离线的情况
- 减少逻辑、HTML、CSS
React
到处
- 添加切换以进行调试/生产模式
- 添加生成身份验证令牌的机制
- 添加调试级别
- 将所有后端日志发送到前端组件
- 每个文件都应该有 @propose 文档。
- 添加用户访问权限管理员面板,用于编辑博客编辑/发布编辑器
- 添加协议文档,示例用法
- 添加 OAuth2 作为插件