Pesquisar
Projeto urgente

Gestão da empresa

hoje à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.

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: 6
Interessados: 12
Tempo restante:
Valor Mínimo: R$ 50,00

Cliente

Propostas (6)
  • 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

Converter design do Figma para HTML - Tenho um design pronto no Figma e preciso que ele seja convertido para um site responsivo em HTML e CSS. O código deve seguir fielmente o layout do Figma, garantindo boa adaptaç&atild...

Alteração de site no Framer - Preciso de um especialista em Framer para a alteração do site atual e a construção de novas páginas a partir dos modelos. Favor inserir os dados abaixo: • ...

Criar FAQ externa organizada e intuitiva (WordPress) - Hoje, temos o site da empresa com diversas documentações, mas ainda assim muito bagunçadas e com um layout feio. Preciso de um novo plugin ou tema para reorganizar isso e deixa...

Reestruturação de página de captura - Boa tarde, pessoal, tenho uma página e estou precisando reformulá-la para começar a usá-la para captura de leads. Ela foi feita pelo WordPress. Abaixo está o li...

Implementação do Kommo CRM na clínica - Preciso de alguém para implementar o Kommo CRM na minha clínica. Com: • Chatbot • Automações • Integrações com IA • Atendimento com Ch...

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.