Gestão da empresa


1. Visão geral e arquiteturaDescrição do projeto:O sistema é uma plataforma de gestão voltada para empresas que prestam serviços de atendimento terapêutico. Ele abrange funcionalidades como cadastro e gerenciamento de pacientes e terapeutas, agendamento de atendimentos, emissão de relatórios (… Expandirfinanceiro e de evolução) e um dashboard com métricas do sistema. A aplicação utiliza uma combinação de páginas HTML renderizadas com Thymeleaf e uma API RESTful desenvolvida em Spring Boot, além de contar com Spring Security para autenticação e autorização.Estrutura de camadas:Front-end: Conjunto de páginas HTML com Thymeleaf (ex.: paciente-lista.html, layout.html, login.html) que utilizam Bootstrap para a interface e JavaScript para interatividade (como o mini calendário e atualizações dinâmicas de métricas).Back-end: Controllers REST e MVC (como PacienteController.java, AgendamentoController.java, DashboardController.java) que expõem endpoints para operações CRUD e para a renderização de páginas.Segurança: Configurada via Spring Security (SecurityConfig.java e AuthController.java) com suporte a CSRF e gerenciamento de sessão.2. Análise do front-endTemplates e layouts:As páginas utilizam o Thymeleaf para injeção dinâmica de conteúdo e para a integração com os dados vindos do back-end. Por exemplo, a página de cadastro de pacientes (paciente-lista.html) apresenta um formulário estruturado para capturar dados que serão utilizados em agendamentos e relatórios.O layout.html define a estrutura principal do sistema, com uma barra de navegação por abas, um mini calendário e um alerta de "Evolução Pendente", que é exibido de acordo com a lógica de negócio definida no back-end.Funcionalidades de interface:As páginas de cadastro (paciente, terapeuta, agendamento) possuem validação básica (via HTML5) e a injeção do token CSRF, garantindo a segurança dos formulários (paciente-form.html, terapeuta-form.html, agendamento-form.html).As telas de relatórios (relatorio-mensal.html e relatorio-paciente.html) contam com filtros para a seleção de datas, profissionais e pacientes, além de fornecer feedback visual via mensagens de alerta integradas em JavaScript.O dashboard (dashboard.html) apresenta métricas em tempo real com gráficos baseados em SVG, atualizados periodicamente por meio de chamadas à API.Pontos de melhoria no front-end:Consistência e reutilização: Embora haja uma estrutura comum (como o mini calendário e a navegação por abas), há repetição de código HTML e CSS que pode ser modularizada através de fragmentos Thymeleaf.Validação e acessibilidade: A implementação atual usa validação básica de HTML5; a inclusão de validações mais robustas e feedbacks mais detalhados (por exemplo, mensagens de erro em tempo real) pode melhorar a experiência do usuário.Interatividade: Para relatórios e dashboard, a aplicação pode se beneficiar de chamadas AJAX mais refinadas ou até mesmo de uma integração com tecnologias como WebSockets para atualizações em tempo real.3. Análise do back-endControllers e endpoints:Os controllers seguem a arquitetura REST e MVC, oferecendo operações CRUD e renderização de páginas. Por exemplo:PacienteController.java gerencia os cadastros de pacientes com endpoints para criação, listagem, atualização e deleção.AgendamentoController.java fornece tanto a renderização da lista de agendamentos quanto endpoints REST para operações CRUD.DashboardController.java agrega as métricas do sistema para exibição no dashboard.O PageController.java integra a lógica de autenticação com a renderização das páginas, garantindo que dados relevantes (como a lista de agendamentos e a presença de evoluções pendentes) sejam passados para a view.Configuração de dados e inicialização:O TestDataInitializer.java cria usuários de teste (um com a role MASTER e outro com a role NORMAL) caso estes não existam, facilitando os testes iniciais e a demonstração do sistema.Segurança e autenticação:A configuração de segurança (SecurityConfig.java) define quais endpoints e recursos são públicos e quais exigem autenticação. Recursos estáticos (CSS, JS, imagens) e algumas páginas (como os cadastros) estão abertos, enquanto outras operações sensíveis exigem autenticação.O AuthController.java trata do login e logout. Um ponto notável é a existência de um caminho especial para um usuário DEV (com credenciais "dev/dev123") que pode representar um risco se não for removido ou devidamente protegido em produção.A implementação de CSRF usando um repositório de tokens via cookies é adequada para mitigar ataques, porém deve ser constantemente revisada. Esconder

Keyword: Spring Boot

Delivery Time: 13 dias e 3 horas days

 

Arquitecto de Software

Estamos buscando ingeniero de sistemas con las siguientes competencias: Arquitecturas en cloud Aws Microservicios Java/Springboot Kubernets Docker RDBMS Documentación de arquitecturas Patrones de diseño XML 3-4 años de experiencia comprobada Tiempo completo 100% remotoC...

View Job
Java Developer

We use Java/Spring core functionality to create XLS reports through Apache POI library. We have all standard functionality for that, architecture solution and multiple existing reports. Developer will be responsible to: * Maintain existing reports * Create the new repor...

View Job
App sping boot

hacer andar proyecto con sql server app hecha en microservicios, y hay que configurar el las properties para que funcione con sqlserverCategory: IT & ProgrammingSubcategory: Web developmentWhat is the scope of the project?: Small change or bugIs this a project or a ...

View Job