API provedor de dados para a aplicação Sistema de Gestão de Eventos Acadêmicos.
Antes de iniciar realmente a instalação do 'sigeva-api', é necessário que uma versão do Python 2.7 esteja instalada na máquina que vai rodar o programa, pois a biblioteca para a geração e verificação de hashs em bcrypt depende do Python.
Baixe o diretório ccsa-ufrn/sigeva-api.
# git clone https://github.com/ccsa-ufrn/sigeva-api.git
Mova-se para o diretório '/sigeva-api' e instale as dependências com NPM
Por fim, pode inicializar o serviço:
Se nenhum erro for mostrado a instalação foi realizada com sucesso.
## Api
Para acessar a documentação completa da API do sigeva, [clique aqui](docs/README.md).
## Arquivo de Configuração
```javascript
{
APP_NAME: "Sistema de Gestão de Eventos Acadêmicos", // Nome da aplicação
SERVER_PORT: 3000, // Porta para iniciar o servidor express
MONGO_DB_PRODUCTION: "mongodb://host/database", // Banco de dados de produção
MONGO_DB_DEV: "mongodb://host/database_dev", // Banco de dados de desenvolvimento
MONGO_DB_TEST: "mongodb://host/database_test", // Banco de dados de teste
JWT_KEY: "secret_key", // Chave privada do JSON Web Token
HOST: "http://host:3000", // ?
INTERNAL_HOSTS: ['host:port'] // ?
}
Para testar, apenas rode:
npm start test // Inicia o servidor em modo desenvolvimento
npm run test
O sigeva utiliza o serviço PM2 da Keymetrics como gerenciador de processos Node.JS. (Conheça aqui).
Em modo de produção, um único script é utilizado para fazer deploy e monitoramento de toda aplicação (sigeva-api). Para fazer deploy somente do core, execute os seguintes passos (com pm2 instalado):
# pm2 start process.yml --env [production|development]
O pm2 irá iniciar 4 instancias do core. Para monitorar em tempo real estas instâncias, informações de uso de memória e processamento execute:
pm2 monit
O resultado será parecido com este: