/management_MCR-

Project-management MCR

Primary LanguageJava

Project-management MCR

Projeto desenvolvido no Bootcamp: GFT Start #3 Java - Explorando Padrões de Projetos na Prática com Java. Desafio que pude desenvolver uma api seguindo alguns Design Patterns: Singleton, Strategy e Facade.

🧮 Framework utilizados

  • Java JDK 11
  • IDE IntelliJ
  • Documentação e consumo no Swagger
  • Banco de Dados MySQL
  • Estrutura - spring initializr

    ✨ Desafio

    🔸 Visão geral: Sistema de cadastro de unidades (apartamentos) em um condominio e o controle de entrega, além do registro de ocorrências

    👣 Solução
    🔻 Padrão Singleton - garantir que uma classe tenha apenas uma instância de si mesma e que forneça um ponto global de acesso a ela:
                 🔹 Utilização de anotações @Bean e @Autowired ;
      🔻 Padrão Strategy - Criar uma Estratégia para cada variante e faz com que o método delegue o algoritmo para uma instância de Estratégia:
                 🔹 Utilização de anotações @Service e @Repository ;
      🔻 Padrão Faced - diminue a complexidade geral do aplicativo:
                 🔹 Criação de uma API para abstrair a complexidade do back end e repositorio para o usuário do condominio.
    

🔸 Security
Utilização do JWT para geração e validação de token para autenticação.
Spring Security para solução de segurança
Autenticação de usuario e senha via Banco de dados

🔗No Controlador de acesso:

🔻 Realiza o metodo post, utilizando o username e a senha do usuário;
🔻 Cadastrado, no Banco, dois usuários para teste:
       Perfil ADMIN: Username (Admin) senha (123456)
       Perfil User: Username (Usuario) senha (654321)
🔻 Executando o metodo post, recebe o token e cadastra no autorizador (Cadeaddo no canto superior direito);
🔻 Pronto! Você está autorizado para utilizar os serviços que possui autenticação liberada(conforme consta na descrição de cada metodo.


Disponibilizado por Emerson.