Skip to content

Gerenciamento de manutenções e preventivas com Spring MVC usando Thymeleaf

Notifications You must be signed in to change notification settings

gabrizord/GZGestao

Repository files navigation

CI Test build Build and Deploy to VPS Quality Gate Status

Spring Boot Thymeleaf PostgreSQL

GZGestão - Manutenção e Preventivas

Este projeto é um sistema de gerenciamento de manutenção e preventivas, projetado para automatizar e facilitar a gestão de manutenções em empresas diversas. Inclui funcionalidades para autenticação de usuários, gestão de funcionários e empresas, solicitações de manutenção, e muito mais.

Funcionalidades

  • Autenticação e Autorização: Gerencie o acesso ao sistema com roles definidas para administradores e técnicos.
  • Gestão de Colaboradores: CRUD completo para gerenciamento de funcionários.
  • Gestão de Empresas: CRUD completo para gerenciamento de Empresas.
  • Gestão de Solicitações de Manutenção: CRUD para gerenciamento e registro de solicitações de manutenção.
  • Relatórios e Dashboards: Visualização de dados estatísticos e operacionais.
  • Notificações: Sistema de notificações para manter usuários informados sobre atualizações importantes.

Pré-requisitos

  • Java JDK 21 ou superior
  • Maven 3.6 ou superior
  • PostgreSQL

Configuração Inicial

  1. Clone o repositório:
    git clone github.com/gabrizord/GZGestao.git
    
  2. Gere as chaves RSA para JWT:
    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  3. Adicione as chaves ao arquivo de propriedades de desenvolvimento application-dev.yml:
    jwt:
       public:
          key: |
             -----BEGIN PUBLIC KEY-----
             MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7QmG...-----END PUBLIC KEY-----
      private:
          key: |
             -----BEGIN PRIVATE KEY-----
             MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQClKcMZ...-----END PRIVATE KEY-----
    
  4. Configurando o banco de dados:
    Certifique-se de que o PostgreSQL está instalado e rodando. 
    Crie um banco de dados para a aplicação e configure as variáveis de ambiente necessárias no arquivo application-dev.yml ou no seu ambiente de desenvolvimento.
    
  5. Executando a Aplicação: Para iniciar a aplicação localmente com o perfil de desenvolvimento, certifique-se de que as variáveis de ambiente estão configuradas corretamente. Utilize o perfil dev do Maven ao executar o seguinte comando:
    mvn spring-boot:run -Pdev
    
  6. Executando Testes Para executar os testes unitários e de integração utilizando o perfil de testes, utilize o seguinte comando: Atenção: Certifique-se de que as chaves JWT (JWT_PUBLIC_KEY e JWT_PRIVATE_KEY) estejam corretamente configuradas nas variáveis de ambiente antes de executar a aplicação ou os testes.
    mvn test