Repositório destinado à minha abstração para o desafio de projeto "Abstraindo Formações da DIO Usando Orientação a Objetos com Kotlin", do bootcamp Santander 2023, na trilha "Mobile Android com Kotlin"
- Linguagem: Kotlin
- Versionamento: Git/GitHub
- IDE: Intellij IDEA Ultimate
- Trata-se de uma aplicação para a simulação de um sistema da DIO.
- O sistema construído apresenta usuários, formações, conteúdos educacionais, tipos de usuário, tipos de conteúdo educacional e níveis de dificuldade (aplicáveis a formações e conteúdos educacionais)
- Formações podem conter conteúdos educacionais e usuários cadastrados
- Não há banco de dados. Assim, ao encerrar a execução, todos os dados (usuários, conteúdos, formações cadastrados etc) são perdidos;
- A simulação de uma espécie de interface executada no console somada à conexão construída entre todas as funções permite que haja navegação cíclica e contínua entre todas essas funções armazenando e utilizando os dados durante esse tempo de execução;
- Os dados das classes e variáveis diversas não são inseridos previamente à execução. Todos os valores são recebidos por um sistema de leitura de entrada por teclado e, portanto, são informados pelo usuário;
- Todas as recepções de valores por entrada possuem suas validações mediante cada caso e necessidade.
Ex: validações para não receber números, validações para não receber null, validações para receber valores dentre opções oferecidas etc;
- Também há verificações que trazem feedback e opções ao usuário.
Ex: O usuário vai cadastrar um usuário em uma formação, mas não há funcionários cadastrados no sistema. Será avisado que não há usuários cadastrados no sistema e dada a opção de fazer esse cadastro de usuários no sistema.
Ex: O usuário está fazendo remoção de usuários em uma formação. Quando não houver mais usuários nessa, será dado um aviso sobre e a aplicação irá direcionar para o menu;
- É feito o uso de sobrecarga de construtor em classes para chamadas de construtor vazio e em alguns casos, são determinados valores padrões (que podem ser alterados) às variáveis;
- Há loops que permitem ao usuário efetuar operações repetidamente de forma facilitada.
Ex: Remover mais de um usuário da mesma formação em sequência;
Em src/main/kotlin estão os códigos da aplicação. Esses códigos estão divididos em packages (pastas/diretórios). Segue a descrição do que engloba cada package:
Package | Descrição | Arquivos |
---|---|---|
src/main/kotlin/aplicacao | Pasta contém a main (inicializadora da aplicação) e as simulações de interfaces (menus para navegação do usuário que conectam e ordenam todas as execuções da aplicação) | Main.kt telaInicial.kt menuUsuario.kt menuConteudoEducacional.kt menuFormacao.kt |
src/main/kotlin/enums | Pasta contém todos os enums da aplicação. Tipo de dado que armazena conjuntos de valores fixos | TipoUsuario.kt TipoConteudoEducacional.kt NivelDificuldade.kt |
src/main/kotlin/usuario | Pasta contém classe e funções relativas ao usuário. Adição, edição e remoção de usuários no sistema | Usuario.kt listaUsuarios.kt exibicoesUsuario.kt cadastroUsuario.kt edicaoUsuario.kt remocaoUsuario.kt |
src/main/kotlin/conteudoEducacional | Pasta contém classe e funções relativas ao conteúdo educacional. Adição, edição e remoção de conteúdos educacionais no sistema | ConteudoEducacional.kt listaConteudosEducacionais.kt exibicoesConteudoEducacional.kt cadastroConteudoEducacional.kt edicaoConteudoEducacional.kt remocaoConteudoEducacional.kt |
src/main/kotlin/formacao | Pasta contém classe e funções relativas à formação educacional. Adição, edição e remoção de formações, de usuários em formações e de conteúdos educacionais em formações | Formacao.kt listaFormacoes.kt exibicoesFormacao.kt cadastroFormacao.kt edicaoFormacao.kt remocaoFormacao.kt edicaoUsuarioEmFormacao.kt edicaoConteudoEmFormacao.kt |
Parte da criação da formação:
Parte do cadastro de usuários em uma formação:
Parte de loop de cadastro de conteúdos educacionais em uma mesma formação:
Validações ao cadastrar usuário:
- Tentativas barradas ao preencher o nome do usuário: dígito, vazio, caractere especial
- Tentativa barrada ao cadastrar usuário: usuário com mesmo nome e tipo já havia sido previamente cadastrado no sistema
- Nessa tela inicial do repositório, faça um fork clicando na opção, conforme mostra a imagem a seguir. Isso criará uma cópia (clone) desse repositório em seus repositórios no GitHub
- Preencha o formulário "Create a new fork" para customizar clone será criado em seu GitHub
- No repositório, acima dos arquivos, sempre haverá aviso caso tenha sido feitas alterações no repositório original. Com "Sync fork" você puxa essas alterações para seu repositório, mantendo-o atualizado
- Para criar uma cópia local desse repositório clonado, selecione/crie a pasta para ele no computador
- Nessa pasta, inicialize o Git Bash
- Comando
git clone linkDoSeuRepositorioClonado
- Comando
git remote add upstream https://github.com/jessicaraissapessoa/desafio-projeto-aprenda-kotlin-com-exemplos-lab-bootcamp-santander-dio-2023.git
- Comando
git remote -v
- Agora há conexão com os repositórios clone e original
- Agora divirta-se com a aplicação na IDE de sua preferência
Esse desafio de projeto faz parte do módulo "Conhecendo a linguagem de Programação Kotlin". Eu também tenho um reposítorio para os códigos que desenvolvi no decorrer das aulas desse módulo, para quem tiver interesse. Inclusive já linkei o repositório do desafio de projeto no README do repositório dessas aulas. Acesse o repositório GitHub:
Conhecendo a linguagem de programação Kotlin - Bootcamp Santander/DIO 2023