Realizado

Consultoria para codificação Php conversão de objeto para array

Publicado em 15 de Fevereiro de 2024 dias na TI e Programação

Sobre este projeto

Aberto

Atualmente, temos uma aplicação PHP e estamos reescrevendo a o código separando o backend do frontend. O backend continua com o PHP mas o frontend está sendo utilizado o React Node com interação entre eles via API.

Estamos com um problema na parte de permissões de usuários por módulo onde não estamos conseguindo gerar os dados na API no formato que precisamos receber para considerar as permissões por módulo.

Contexto Geral do Projeto

O modelo atual de retorno ao frontend necessita de conversão de objeto para array. Já foi pesquisado a respeito e a única forma que conseguimos fazer é de forma manual que foge dos padrões do PHP. Sendo que do último grupo de permissões acarretou 1000 linhas de código tanto no backend tanto no frontend. O sistema possui 5 módulos e dentro de cada módulo, podemos ter até mais 4 níveis de permissões. Atualmente o padrão feito pega apenas o nível 1, para pegar os demais está convertendo (a linguagem PHP) para objetos automaticamente. No frontend não se faz tratativas de padrões, é possível, porem não traz assertividade e nem segurança. Uma vez que no PHP não está no padrão da linguagem e para debugar caso necessário se torna mais complexo. Este projeto considera a prestação de serviço de consultoria para nos orientar como escrever o código da forma atual para a forma que precisamos, conforme modelo abaixo: Exemplo de como está hoje: [ { "id": "analiseDeCenario", "nome": "Análise de Cenário", "nivel2": { "classsificacaoSwot": { "id": "classificacaoSWOT", "nome": "Classificação SWOT" }, "Brainstorming": { "id": "brainstorming", "nome": "Brainstorming" }, "Compliance": { "id": "compliance", "nome": "Compliance", "nivel3": { "CadastrodeRequisitos": { "id": "cadastroDeRequisitos", "nome": "Cadastro de Requisitos", "nivel4": [] }, "realizar_auditoria": { "id": "realizarAuditoria", "nome": "Realizar Auditoria", "nivel4": [] }, "Conjuntura": { "id": "conjuntura", "nome": "Conjuntura", "nivel4": [] } } } } } ] Exemplo de como precisamos retornar para o frontend: { "id": "analiseDeCenario", "nome": "Análise de Cenário", "nivel": 1, "nivel2": [ { "nivel": 2, "id": "classificacaoSWOT", "nome": "Classificação SWOT", "nivel3": [ { "nivel": 3, "id": "classificacaoSWOT", "nome": "Classificação SWOT", "nivel4": [{}] }, ] }, { "id": "brainstorming", "nome": "Brainstorming" }, { "id": "compliance", "nome": "Compliance", "nivel3": [ { "id": "cadastroDeRequisitos", "nome": "Cadastro de Requisitos", "nivel4": [] }, { "id": "realizarAuditoria", "nome": "Realizar Auditoria", "nivel4": [] }, { "id": "conjuntura", "nome": "Conjuntura", "nivel4": [] } ] } ] }

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Bug ou alteração pequena
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho uma ideia geral
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias

Outro projetos publicados por TW Estruturação e Direcionamento