Pesquisar
Projeto urgente

Gestão da empresa

10/03/2025 às 11:16

Descrição do Projeto:

1. Visão geral e arquitetura

Descriçã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 (financeiro 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-end

Templates 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-end

Controllers 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.

Atividades do cliente nesse projeto:

Última visualização: 12/03/2025 às 16:19

Tem dúvidas? Faça uma pergunta.

ou

Enviar proposta

Informações adicionais

Categoria: Web, Mobile & Software
Subcategoria: Desenvolvimento Web
Orçamento: Aberto
Nível de experiência: Iniciante
Visibilidade: Público
Propostas: 12
Propostas excluídas: 1
Interessados: 20
Tempo restante:
Valor Mínimo: R$ 50,00

Cliente

Propostas (11)
  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

  • Freelancer novo Promovida Aceita Aceita Rejeitada

    Submetido: | Oferta: Privado | Duração estimada: Privado

Nenhuma proposta foi encontrada.

Carregando...
Projetos semelhantes no 99Freelas

Desenvolvimento de MVP web para resolução de circuitos elétricos - Descrição do projeto: Estou buscando um desenvolvedor para criar um MVP web que permita que estudantes enviem questões de circuitos elétricos e obtenham resoluç&o...

Ajustes em portal web com admin e cliente - Descrição do projeto: Tenho um portal de agendamento de serviços feito por outro profissional. Infelizmente, perdi o contato com ele e não consigo encontrá-lo: a ...

Configuração completa de loja - E-commerce - - Configuração do layout e identidade visual - Cadastramento de produtos, mais de 700 itens por Excel... - Configuração de frete - Cadastramento de pagamentos - Revis&at...

Criação de landing page e copy - Olá, preciso da criação de uma landing page e copy para uma empresa de Medicina e Segurança do Trabalho. O provedor é WIX. Já tenho um modelo de inspira&cc...

Criar tela e implementar módulo no sistema - A API já se encontra pronta. Preciso criar telas e implementar nesse módulo novo do sistema. É necessário ser perfeccionista nos detalhes de UX/UI, que já est&ati...

Carregando...

Carregando...

Pesquisar

FREELANCERS
PROJETOS
Ocorreu um erro inesperado. Caso o erro persista, entre em contato conosco através do e-mail suporte@99freelas.com.br.