/silq

Sistema de Integração Lattes-Qualis

Primary LanguageJavaOtherNOASSERTION

SILQ

Creative Commons Attribution-NonCommercial 4.0 International License. Build Status

Sistema de Integração Lattes-Qualis: http://silq.inf.ufsc.br.

Dependências

Antes de poder construir esta aplicação, instale e configure em sua máquina:

  1. Java 8
  2. Maven: Para gerenciamento das dependências Java;
  3. Node.js: Utilizamos para rodar o servidor de desenvolvimento e para construir o front-end do projeto;
  4. Docker: Para gerenciamento das imagens das bases de dados de desenvolvimento e teste.

Após instalar o node, instale as dependências front-end da aplicação com:

$ npm install

Também utilizamos Grunt como build system. Instale com:

$ npm install -g grunt-cli

Para instalar as dependências maven, rode em um terminal:

$ mvn clean install -DskipTests

Banco de dados

Utilizamos docker para gerenciamento dos bancos de dados de desenvolvimento e teste. Utilize docker-compose (pode ser necessário instalá-lo) para criar as bases de dados de desenvolvimento e de testes com o comando docker-compose -f docker-compose.yml up -d.

As credenciais de conexão com o banco estão no arquivo docker-compose.yml.

Criação do esquema e dados iniciais

Os arquivos que contém o esquema e os dados Qualis estão nos arquivos SQL:

  • sql/schema.sql
  • sql/qualis_evento.sql
  • sql/qualis_periodico.sql

Os dockers criados com o docker-compose executarão automaticamente esses SQLs em sua construção.

Construindo a aplicação

Rode os seguintes comandos em dois terminais separados para criar uma experiência de desenvolvimento mais agradável:

$ mvn
$ grunt

Bower é utilizado para gerenciar as dependências CSS e Javascript. Atualize ou adicione dependências no arquivo bower.json. Rode bower install ou bower update para gerenciar as dependências.

Testes automatizados

Com o banco de testes iniciados, rode no terminal:

$ mvn clean install

O comando irá executar os testes unitários do back-end.

Para rodar os testes end-to-end (frontend), execute (com a aplicação iniciada):

$ npm test

Construindo para produção

Para criar uma versão otimizada para produção, utilize:

$ mvn -Pprod clean package

Isto irá concatenar e minificar os arquivos CSS e Javascript, além de modificar index.html com as novas referências a estes arquivos.

Para rodar a versão standalone do projeto, utilizando um servidor Tomcat e ativando o perfil de produção, utilize:

$ java -jar target/*.war --spring.profiles.active=prod

Então navegue para http://localhost:8080 in em seu navegador.

A base desta aplicação foi gerada utilizando JHipster, você pode encontrar documentação a respeito em https://jhipster.github.io.