我在一家定制开发公司工作。同时,我们正在运行许多具有不同活动和工作量的项目。每周,项目经理都会打电话来检查当前的状况,制定下周的计划,并在开发人员之间分配任务。当我成为团队负责人时,参加这些会议已成为我的职责。
我很快意识到,简报不是很有效,因为在我眼前没有一般和完整的画面,哪一个开发人员超负荷工作,而谁却闲置了。
我们使用Redmine进行任务管理。这是一个老式的工具,但是方便且经过时间考验的免费工具。在我们的案例中,致命的缺陷是缺乏对当前任务的清晰概括。
项目概念
值得立即澄清的是,实际上有机会显示一般摘要,但仅适用于有权访问所有项目的管理员。实际上,每个经理只能访问特定部分的项目和任务。
, , . , trello- , -.
, Redmine REST API - , . , - .
junior frontend , - , . «, », — .
, — Vue.js . , vue-cli vuex, API, . , Redmine , , .
, , , php- - 200 , . (/), .
, cURL
file_get_contents()
. :
$host = 'https://redmine.app';
$apiKey = '*****';
$context = stream_context_create([
"http" => [
"method" => "GET",
"header" => "X-Redmine-API-Key: $apiKey"
]
]);
$projects = file_get_contents("$host/projects.json", false, $context);
? SPA, JSON Web Tokens? , cookie-based . POST-, , -. checkRedmineUser($login, $password)
, , -.
- :
$auth = base64_encode("$login:$password");
$opts = [
"http" => [
"method" => "GET",
"header" => [
"Authorization: Basic $auth"
],
"ignore_errors" => true,
]
];
$context = stream_context_create($opts);
$response = file_get_contents("$host/users/current.json", false, $context);
API, . : MVP, .
?
— , . :
, , / drag-n-drop' .
, , , , — . , , -, .
— PM-, . , . , — ?
, : « », , , CI/CD. - , - , : «, ...».
Laravel, Gitlab, issues.
(milestones Gitlab) — « » , — .
, , , , . , -, HTTP API.
Gitlab-CI. — .. , docker .
middleware. JSON-, — DTO. (enums) — spatie/enum. file_get_contents()
guzzle.
. , , , . « » — -:
, .
- — . , , , . , « MVP».
- . , , . , Unix: do one thing, and do it well.
- , , , . Issues , , pull request' , , , .
- — . - , , , production. , . , . code review, .
我对结果,如何发生以及已经为新项目收集想法感到满意。