Terminado

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

Publicado el 15 Febrero, 2024 en Programación y Tecnología

Sobre este proyecto

Abierto

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 general del proyecto

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": [] } ] } ] }

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Bug o cambio pequeño
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo una idea
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs)
Roles necesarios Programador

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por TW Estruturação e Direcionamento