LaserChipEducacao

Projeto desenvolvimento para desafio Front-end da LaserChip, criar um CRUD de alunos usando a API e o layout deve ser desenvolvido de forma amigável e intuitivo.

Projeto foi desenvolvido com versão 16 do Angular e Material, seguindo boas práticas do Angular coding style guide e da comunidade, foi utilizado Conventional Commits para os commits do projeto, também foi utilizado programação reativa RXJS e está configurado o Eslint para validação do código e o Prettier para formatação.

Pré-requisitos

Para conseguir instalar as dependências do projeto e rodar ele é necessário ter instalado na máquina a versão do Node.js ^16.14.0 || ^18.10.0, para maiores sobre como fazer a instalação, por favor acessar o Node.js.

Instalar dependências

Após baixar o projeto não se esquecer de fazer a instalação de dependências usando o comando npm install ou npm i, após a instalação das dependências pode prosseguir para o passo Rodar o projeto local.

Rodar o projeto local

Antes desse passo excute Instalar dependências, após execução bem-sucedida, voltar para esse passo.

Para rodar o projeto localmente apenas é necessário rodar o comando npm run start no terminal já irá abrir o navegado com o projeto, caso queira também pode usar ng serve e abrir a url http://localhost:4200/ no navegador.

Rodar projeto na rede

Antes desse passo excute Instalar dependências, após execução bem-sucedida, voltar para esse passo.

Caso seja necessário realizar testes no projeto em um dispositivo é possível desde que ele esteja na mesma rede onde está rodando o projeto, somente é necessário rodar o comando npm run host para acessar pelo dispositivo utilizar a url https://ip-do-seu-dispositivo-onde-esta-rodando-o-projeto:4200/#/evino/loja, pode ser necessário desativar o firewall caso não esteja funcionando.

ng generate

Antes desse passo excute Instalar dependências, após execução bem-sucedida, voltar para esse passo.

Execute no terminar ng generate component nome-do-componente para criar um novo componente. Você também pode utilizar ng generate directive|pipe|service|class|guard|interface|enum|module, maiores informações por favor consultar a documentação do ng generate.

Build

Antes desse passo excute Instalar dependências, após execução bem-sucedida, voltar para esse passo.

Para buildar o projeto e gerar os arquivos de distribuição somente executar o comando npm run build no terminal, não existe distinção de ambientes, por questões da API não ter ambientes diferentes. Os arquivos gerados pelo build serão armazenados na pasta dist/ na raiz do projeto.

Sempre rodar o npm run build antes de subir algum commit para garantir que o código não está com erro que não é pego no ng serve.

Commits

Antes desse passo excute Instalar dependências, após execução bem-sucedida, voltar para esse passo.

Para comitar no projeto está sendo seguido o padrão do Conventional Commits, por isso é necessário rodar o comando npm run commit e seguir o padrão do Conventional Commits, dúvidas sobre qual opção escolher na hora de commitar, por favor consultar a documentação oficial.

Versões do Projeto

Antes desse passo excute Instalar dependências, após execução bem-sucedida, voltar para esse passo.

Para gerar as versões do projeto está sendo seguido o padrão Conventional Commits e usado a lib conventional-changelog, quando for necessário gerar uma nova versão utilizar o comando npm run release, após isso executar o comando que aparece no terminal git push --follow-tags origin (nome-da-branch) para dar push da tag do git gerada.

Para ajuda futura

Para futura ajuda e dúvidas, consultar a documentação do Angular, Material, RXJS, Conventional Commit e Stack Overflow.