Code Monkey home page Code Monkey logo

sigeva's Introduction

Sigeva

Sistema de Gestão de Eventos Acadêmicos (Sigeva)

GPL CircleCI

Sistema que suporta o evento Seminário de Pesquisa do Centro de Ciências Sociais Aplicadas (CCSA) da UFRN.

Para obter informações sobre instalação, configuração e uso, acesse a wiki do projeto.

Requisitos de sistema

  • Node.js >= v7.0.0
  • NPM >= 3.10.8
  • MongoDB >= 3.2.11

Configurações iniciais 🔧

Antes de instalar dependencias e executar um servidor de Sigeva, é necessário que o arquivo de configuração esteja devidamente preenchido, para isso execute os seguintes passos:

Copie o arquivo config.TEMPLATE.js para um novo arquivo com o nome config.js. Edite as informações desse arquivo de acordo com suas preferências de servidor de banco de dados, chave de segurança, serviço de e-mail etc.

Além disso é necessário a criação de um diretório para armazenamento de arquivos de upload. De preferencia crie um diretório separado do código fonte de Sigeva, e dê permissão de escrita para sigeva no diretório. O arquivo config.js também possui um parâmetro para que seja configurado o endereço absoluto do diretório de arquivos.

Iniciando para produção 🏃

❗ Para executar Sigeva em produção recomendamos utilizar uma instância Docker com/ou um monitorador como o PM2, os comandos abaixo iniciará um servidor Sigeva mas não é a melhor forma de fazer isto, utilize com cuidado.

Para utilizar Sigeva nesse ambiente é necessário instalar as dependencias de produção. Para isso execute, no terminal:

npm install --production

Certifique-se de que seu banco de dados Mongo DB está devidamente funcionando e pronto para receber uma conexão para efetuar os próximos passos. Antes de inicializar o servidor, é necessário rodar o script de inicialização do banco de dados, que faz algums configurações importantes. Para isso execute no terminal:

npm run initdb:prod

É recomendado que somente releases sejam utilizadas em servidores de produção, mas se deseja transpilar o código fonte, ou criar uma release do projeto execute o seguinte comando:

npm run build:server

❗ Para executar o código acima é importante notar que as dependencias de desenvolvimento devem ser instaladas, caso contrário haverá erro de execução.

Caso esteja utilizando uma release, ou se já efetuou a transpilação do código fonte, execute o comando a seguir para inicializar o serviço Sigeva em modo de produção:

npm run start:prod

Iniciando para desenvolvimento 🚶

Este modo é indicado para fazer desenvolvimento de novas features para Sigeva. Caso esteja desenvolvendo algo envie-nos uma PR, e não esqueça de seguir o workflow detalhado na seção "Como contribuir".

Nesse ambiente é necessário instalar todas as dependencias de Sigeva. Para isso execute, no terminal:

npm install

Após configurar o config.js, inclusive definindo um diretório para arquivos de upload, você deve se certificar de que existe uma instancia de MongoDB em execução no servidor e porta definidos no arquivo de configuração. Então, execute o seguinte comando para fazer inicialização de configurações do sistema no banco de dados:

npm run initdb:dev

Por fim, execute o comando para inicialização do serviço. Este comando executa o código fonte com babel-node no modo debug (Utilize a ferramenta Google Chrome Dev Tools) e com o nodemon que reinicia o serviço caso o código seja alterado.

npm run start:dev

Antes de desenvolver, note que Sigeva utiliza EditorConfig e ESLint, certifique-se de encontrar plugins dessas ferramentas para seu editor preferido.

Com as dependencias resolvidas inicie a aplicação com o comando npm start. A aplicação é reiniciada para cada alteração em algum código, graças ao pacote nodemon.

Você pode buildar algo para produção com os comandos npm run build_server e npm run build_react que, respectivamente, transpilam os código do servidor e do front-end em React.js.

Documentação (em desenvolvimento) para utilizadores do projeto, contendo instruções para instalação e inicialização de uma instância de Sigeva.

Documentação para desenvolvedores/colaboradores do projeto.

Como contribuir

Leia informações sobre como contribuir em /.github/CONTRIBUTING.md

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.