leoshtika / crowd-notes
使用 Yii2 创建的笔记管理应用程序,提供后端、前端、控制台和 RESTful API
Requires
- php: >=5.4.0
- yiisoft/yii2: >=2.0.6
- yiisoft/yii2-bootstrap: *
- yiisoft/yii2-swiftmailer: *
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-18 11:22:26 UTC
README
这是一个使用 Yii2 创建的笔记管理应用程序,提供后端、前端和 RESTful API。它可以用于速查表、密码管理器、购物清单等等!
要求
- PHP 5.4 或更高版本
- 数据库(MySQL、SQLite、PostgreSQL 或其他)
如何使用
...
crowd-notes 贡献者的工作流程
准备您的开发环境
1. 在 GitHub 上 Fork crowd-notes 仓库并将您的 Fork 克隆到您的开发环境
git clone https://github.com/YOUR-GITHUB-USERNAME/crowd-notes.git
2. 将主 crowd-notes 仓库添加为名为 "upstream" 的额外 git 远程
git remote add upstream https://github.com/leoshtika/crowd-notes.git
3. 安装依赖项(假设您已全局安装 composer)
composer install
注意:如果您看到错误,如“问题 1 请求的包 bower-asset/jquery 在任何版本中均找不到”,则包名可能存在拼写错误,您需要运行
composer global require "fxp/composer-asset-plugin:~1.0.3"
4. 初始化应用程序
使用以下命令运行 php init 文件
php init
您将被要求选择环境。选择开发环境(输入“0”并按回车键)
5. 创建一个新的数据库
创建一个新的数据库(MySQL、SQLite、PostgreSQL 或其他)并运行以下 SQL 查询
@TODO:创建迁移
CREATE TABLE IF NOT EXISTS `item` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`note_id` int(11) NOT NULL,
`text` text NOT NULL,
`status` smallint(6) NOT NULL DEFAULT '10',
PRIMARY KEY (`id`),
KEY `note_id` (`note_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `note` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`user_id` int(11) NOT NULL,
`color` varchar(6) NOT NULL DEFAULT 'FFFFFF',
`status` smallint(6) NOT NULL DEFAULT '10',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`auth_key` varchar(32) COLLATE utf8_unicode_ci NOT NULL,
`password_hash` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`password_reset_token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`first_name` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`last_name` varchar(128) COLLATE utf8_unicode_ci NOT NULL,
`role` smallint(6) NOT NULL DEFAULT '10',
`status` smallint(6) NOT NULL DEFAULT '10',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `password_reset_token` (`password_reset_token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
ALTER TABLE `item`
ADD CONSTRAINT `item_ibfk_1` FOREIGN KEY (`note_id`) REFERENCES `note` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `note`
ADD CONSTRAINT `note_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
通过 common/config/main-local.php 文件中的 dsn 组件属性配置数据库连接
修复错误和功能
按照上述说明准备开发环境后,您现在可以开始处理功能或错误修复。
1. 确保您正在处理的事情已创建问题,如果需要大量精力来解决
所有新功能和错误修复都应该有一个相关的问题,以便提供讨论和文档的单一点。
2. 从主 crowd-notes 分支获取最新代码
您应该从这一点开始,以确保您正在处理最新代码。
git checkout master
git pull upstream master
3. 基于当前的 crowd-notes master 分支创建一个新分支以处理您的功能
每个单独的错误修复或更改都应该进入其自己的分支。分支名称应该是描述性的,并以与您的代码相关的问题编号开头。如果您没有修复任何特定的问题,则可以跳过编号。例如
git checkout -b 999-name-of-your-branch
4. 进行您的操作,编写代码
所有新代码应遵循 PSR-2 编码标准。确保它工作 :)
5. 提交您的更改
git add --all
git commit -m "Resolve #999: A brief description of this change"
6. 从上游获取最新代码,合并并压缩您的更改
在将代码推送到 GitHub 之前,请确保将上游更改集成到您的本地存储库中
git checkout master
git pull upstream master
git checkout 999-name-of-your-branch
git rebase master
这确保了您的更改可以一键合并。
压缩提交 这一步不一定总是必要的,但在您的提交历史中充满了小型、不重要的提交时是必需的。
git rebase -i master
7. 将代码推送到 GitHub
git push -u origin 999-name-of-your-branch
8. 向上游打开 pull request
前往您在GitHub上的仓库,点击“Pull Request”,在右侧选择您的分支,并在评论区输入更多详细信息。要将pull request与任何位置的issue关联,请在pull comment中放置#999(999是issue编号)。请注意,每个pull request应修复单个更改。
9. 他人将审查您的代码
他人将审查您的代码,您可能需要做出一些更改,如果是这样,请回到步骤#5(如果您的当前pull request仍然开放,您不需要打开另一个)。如果您的代码被接受,它将被合并到主分支,并成为下一个版本的一部分。
10. 清理工作
在您的代码被接受或拒绝后,您可以从本地仓库和origin删除您已工作的分支。
git checkout master
git branch -D 999-name-of-your-branch
git push origin --delete 999-name-of-your-branch