Librum ex Dracones trata-se de um teste de conhecimentos, a demonstração pode ser acessada aqui.
Você pode realizar o deploy instantâneo no Heroku sem precisar instalar nada no seu ambiente de trabalho bastando utilizar o botão abaixo:
É possível executar apenas o frontend, para isso acesse a pasta web
na raiz do projeto e execute os comandos yarn install
para instalação das dependências e yarn start
para inicializar a aplicação - que estará disponível em http://localhost:4200
.
Após clonar o projeto execute o comando make
no intuito de validar os requisitos do sistema e criar as variáveis de ambiente e, logo a seguir make install
para montar os containers e make launch
inicializar a aplicação.
Obtenha mais informações sobre os comandos disponíveis executando
make help
em seu console.
Após executar o comando make install
seu ambiente deve estar parecido com os exemplos comentados abaixo:
PROJECT_NAME="Librum ex Dracones"
# Nome deste projeto.
ENVIRONMENT=dev
# Ambiente no qual estará sendo executado.
DB_DATABASE=admin
DB_USERNAME=admin
DB_PASSWORD=YW1lbm8gZG9yaW1l
DB_HOSTNAME=database
# Acesso ao banco de dad☉s
APP_URL=http://localhost
API_URL=http://api.localhost
# Endereços para direcionamento das requisições.
Os containers são atualizados sempre que houver alteração nos ramos principais do repositório e estarão disponíveis publicamente no Docker Hub de forma automatizada via CircleCI.
Desenvolvedor apaixonado, tem fixação por quebra-cabeças e em busca constante de desafios.
Veja mais...
Fascinado por astronomia, física quântica, energia (e matéria) escura, inflação e destino entrópico do multiverso, alquimista e claro: coach de biohacking quântico, neuroprogramação, pseudocientista, astrólogo mentor de η+1 desavisados.
O author também é RPGista, guitarrista, artista marcial e atirador. Carrega a culpa de quebrar constantemente a 4ª parede com extensos monólogos.
Optei por utilizar o docker-compose devido a facilidade e rapidez em subir um ambiente com múltiplos builds com pouca necessidade de configuração/setup inicial.
As imagens base estão disponíveis no respectivo Docker Hub.
As ferramentas e rotinas de montagem e automação local - do ambiente de desenvolvimento - foram escritas em Bash/ShellScript/Dash e centralizadas no Makefile.
Utilizei o CircleCI devido a facilidade de uso e baixo custo operacional - outra opção seria o AWS CodeBuild.
Existem somente três serviços:
- quality, que realiza apenas o lint da aplicação e, estando fora do padrão bloqueia o processo;
- build etapa em que são construídos e enviados para o Docker Hub os containers;
- deploy integrado com Heroku;
Ainda sobre o CircleCI, optei por salvar os containers de conveniência com as dependências devido ao custo temporal ser significativamente menor com processamento do que com transferência.
Em suma: é mais rápido jogar todos os módulos para dentro de uma tag inflada/inchada e consumir ela do que processar as dependências sempre que necessário.
Iniciei o desenvolvimento pelo frontend utilizando Angular 9 e SCSS partindo logo a seguir para os fluxos de entrega. A seguir desenvolverei a integração com o backend e a API solicitada.
Acesse o endereço da aplicação, digite seu nome e utilize - em qualquer ordem - as seguintes runas para acessar o índice:
Atenção: Caso venha a utilizar ferramentas de automatização de testes, para todos os efeitos, o valor da senha será sempre 346.
Este exemplo utiliza as bibliotecas pizzicato de alemangui para as músicas de fundo e demais efeitos sonoros. Músicas e efeitos sonoros obtidos através de FreeSound.org licenciados em sua maioria como Creative Commons ou uso particular.
As imagens foram extraídas de PNG find em sua maioria como licença Creative Commons ou uso particular, e foram em parte reconstituídas e modificadas artisticamente para se adequar ao design preservando a arte original.
Icon list made by Freepik from www.flaticon.com.
Inspiração no trabalho artístico de Diablo - UI e OST -, Rhapsody of Fire e D&D / d⚂20.
Nenhum plugin foi utilizado para os efeitos de paralax nos dragões - nenhum dragão foi ferido fora dos tabuleiros.
Labor improbus omnia vincit - Publius Vergilius Maro.