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.
- 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.
- Java JDK 21 ou superior
- Maven 3.6 ou superior
- PostgreSQL
- Clone o repositório:
git clone github.com/gabrizord/GZGestao.git
- 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
- 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-----
- 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.
- 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
- 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
eJWT_PRIVATE_KEY
) estejam corretamente configuradas nas variáveis de ambiente antes de executar a aplicação ou os testes.mvn test