Atividade aplicada pelo professor Adriano Maia.
Devemos criar um programa utilizando a biblioteca JFrame que será responsável por gerenciar logins. em um determinado sistema. Onde um funcionário terá total acesso ao sistema, para criar contas, alterar ou buscar um usuário.
A aplicação deverá ser construída em Java, utilizando a biblioteca JFrame e as ações devem ser em runtime.
- Campos que foram definidos no slide devem ser obrigatórios;
- O funcionário deve conseguir cadastrar, alterar e pesquisar um usuário;
- Código precisa ser autoral e se possível validações;
Java 18
openjdk-18-jre
openjdk-18-jdk
IntelliJ IDEA
GIT
Nessa aplicação o funcionário vai conseguir ter algumas funcionalidas do CRUD de um usuário.
Além disso, as classes possuem validação e tratamento de exceções, para que o usuário não possa fazer algo que não deveria.
Para melhor escalabilidade da aplicação, foi utilizado o padrão de projeto SOLID
,
onde cada classe é responsável por uma única funcionalidade e nada mais que isso.
Para uma comprovação de um código funcinal, foi utilizado do GitHubActions
responsável por ci/cd,
que testará o código e verificará se funciona corretamente em cada push
e pull-request
feita no repo.
Para gerar um arquivo executável foi utilizado um script que gerava um .jar
a cada versão da aplicação.
Na aplicação, pode-se encontrar alguns TODOS que vão ser implementados como forma externa a avaliação, com o intuito de melhorar a qualidade do código.
Adaptação da classe UTILS
: Será removido algumas lógicas repetitivas para um Utils, onde todo o contexto poderá utilizar.Reescrita de algumas regras de négocio
: Será reescrita algumas regras de négocio para melhorar o desempenho da aplicação.Adição de um banco de dados
: Será adicionado um banco de dados para armazenar os utilizadores e não mais em runtime.
Cada release foi gerada por uma Command Line Interface
(CLI) chamada GitHub CLI.
As releases são categorizadas por versão da aplicação, onde cada uma possui um nome e um arquivo executável.
Caso queira uma release mais recente ou especifica, basta clicar aqui.
Developer with ❤️🔥 by Lucas Souza (@deverebor)