Eu trabalho para uma empresa de desenvolvimento personalizado. Ao mesmo tempo, estamos executando muitos projetos com diferentes atividades e volumes de trabalho. Todas as semanas, os gerentes de projeto ligam para verificar o estado atual das coisas, traçar um plano para a próxima semana e distribuir as tarefas entre os desenvolvedores. Quando me tornei líder de equipe, a participação nessas reuniões foi agregada às minhas responsabilidades.
Rapidamente percebi que os briefings não são muito eficientes, pois não havia uma imagem geral e integral diante dos meus olhos, qual dos desenvolvedores está sobrecarregado, e qual, ao contrário, está ocioso.
Usamos Redmine para gerenciamento de tarefas. Esta é uma ferramenta gratuita um tanto antiquada, mas prática e testada pelo tempo. Uma falha fatal em nosso caso foi a falta de um resumo geral claro das tarefas atuais.
Conceito de projeto
Vale a pena esclarecer desde já que existe realmente uma oportunidade de mostrar um resumo geral, mas apenas para o administrador que tem acesso a todos os projetos. Na prática, cada gerente tem acesso a apenas uma determinada fatia de projetos e tarefas.
, , . , 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, .
Estou feliz com o resultado, como aconteceu e já coletando ideias para novos projetos.