Migração de um sistema legado em PHP para uma nova arquitetura baseada em Node.js e Next.js. O objetivo é separar a aplicação monolítica em um front-end e um back-end comunicando via API RESTful, utilizando NestJS com TypeORM como estruturação principal do backend. Buscamos um freelancer experiente para desenvolver e otimizar essa nova camada de API, garantindo escalabilidade, segurança e performance. Requisitos Técnicos - PHP 7/8 Avançado: Domínio em desenvolvimento nativo, sem frameworks, para integrar e refletir a estrutura atual do sistema legado. - MySQL: Experiência sólida na criação e otimização de queries e stored procedures, garantindo integridade e desempenho. - APIs RESTful: Sólidos conhecimentos na criação e consumo de APIs, utilizando boas práticas e padrões como Swagger/OpenAPI 3.0 para documentação. - NestJS & TypeORM: Utilização do NestJS para estruturar o backend e do TypeORM para gerenciar a conexão e operações com o banco de dados. - Testes Automatizados: Experiência com testes unitários e de integração para assegurar a qualidade da solução. - Ferramentas de Validação: Uso de class-validator e class-transformer para garantir a integridade dos DTOs. - Segurança de Aplicações: Práticas de proteção contra sql injection, validação de inputs, rate limiting, configuração de cors e gerenciamento de dados sensíveis. - Versionamento com Git: Conhecimento em sistemas de versionamento e integração contínua (ci/cd). Responsabilidades - Desenvolvimento da API RESTful: Criar endpoints seguros com autenticação JWT e estruturados com NestJS, integrando o TypeORM para operações com MySQL. - Gerenciamento de Sessões: Implantar estratégia stateless com JWT, onde cada usuário autenticado recebe um token com validade de 24 horas. Em caso de “lembrar de mim”, o token será revalidado, seja renovado com nova validade ou, se necessário, forçado a novo login. - Otimização de Queries: Desenvolver e otimizar queries para o MySQL, considerando a performance e segurança. - Tratamento de Erros e Logs: Implementar um sistema centralizado de logs capaz de integrar informações de todos os microserviços. Entre as soluções possíveis, destacam-se o uso de websocket com sistema de fila ou ferramentas como Sentry e Kibana. - Retry Connection no Banco de Dados: Configurar o TypeORM para adotar uma estratégia de retry com 5 tentativas e 3 segundos de delay entre cada tentativa. - Validações e Segurança dos DTOs: Utilizar class-validator e class-transformer para realizar uma validação robusta das requisições. - Migração Segura de Hashes: Ajustar a migração atual para refletir o uso de HASH com bcrypt, substituindo a instalação anterior de SHA1. A migração do trigger MD5 foi removida, uma vez que a criptografia agora ocorre na camada da aplicação. - Gestão de Dados Sensíveis: Manter a compatibilidade das senhas herdadas, implementando uma estratégia para solicitar a redefinição de senha (fluxo “esqueci minha senha”) ou, se necessário, um middleware que valide a lógica antiga e force a alteração para o novo padrão. - Implementação de Throttler: Configurar rate limiting para proteger os endpoints: Limite global de 10 requisições por minuto. Login limitado a 5 requisições por minuto. Registro limitado a 3 requisições por minuto. Retornar erro 429 quando o limite for atingido. - Documentação: Manter a documentação interativa dos endpoints utilizando Swagger/OpenAPI 3.0 e garantir que toda a documentação esteja atualizada e clara para o consumo do front-end. - Testes Automatizados: Desenvolver uma suíte de testes completa, abrangendo testes unitários e de integração para assegurar a confiabilidade da aplicação. Diferenciais - Experiência com Docker e containers - Familiaridade com pipelines de ci/cd e versionamento avançado com git - conhecimento em monitoramento e logging centralizado - experiência anterior com sistemas distribuídos e arquitetura de microserviços arquitetura e integração dos microserviços nossa solução é composta por diversos microserviços, cada um responsável por partes específicas do sistema: - system-gateway: atua como orquestrador, reunindo todos os serviços e expondo uma única api rest para acesso externo. Todos os pontos de acesso relacionados a HTTP ficam concentrados aqui. - System-auth: Microserviço responsável por toda a lógica de autenticação e validação de tokens. Conecta-se diretamente, via socket, ao serviço de usuários para buscar informações necessárias, sem reter lógicas de negócio da entidade usuário. - System-users: Gerencia o cadastro, edição, remoção e consulta de usuários. Responsável pelas migrations, entidades e controllers, permitindo que o módulo de usuários opere de forma independente. - System-shared: Biblioteca de código compartilhado para reunir utilitários e informações gerais que podem ser reutilizadas por outros serviços. Publicação e Integração: Em produção, os pacotes de cada microserviço poderão ser publicados em um npm registry privado, facilitando o acesso a tipos, funções e outros recursos de maneira modulada. Enquanto o gateway implementa controles como throttler, os demais serviços mantém suas lógicas de negócio descritivas e puras.Category: IT & ProgrammingSubcategory: Web developmentWhat is the scope of the project?: Medium-sized changeIs this a project or a position?: ProjectI currently have: I have specificationsRequired availability: As neededAPI Integrations: Other (Other APIs)Roles needed: Developer
Keyword: Docker
Price: $500.0
Secondary Price: $1000.0
Buscamos un Desarrollador Frontend con experiencia en Next.js para construir una aplicación moderna y escalable. El candidato ideal debe tener habilidades en React, ssr/ssg y consumo de apis, además de conocimientos básicos de backend en java. Responsabilidades: Desarro...
View JobServicio de evaluación de seguridad y pentesting alcance del servicio. Este servicio de pentesting comprende una evaluación exhaustiva de seguridad para servidores virtuales privados (Vps) y sus servicios asociados, diseñado para identificar vulnerabilidades y proporcio...
View JobDescrição do Projeto Estou buscando um desenvolvedor para criar um sistema de comunicação via WhatsApp que permita gerenciar e otimizar o envio de mensagens para clientes. O sistema deve oferecer: Gerenciamento de múltiplas contas de WhatsApp Web, permitindo que fiquem ...
View Job