Giter Site home page Giter Site logo

diogomascarenha / i-diario Goto Github PK

View Code? Open in Web Editor NEW

This project forked from portabilis/i-diario

0.0 1.0 0.0 11.4 MB

Lançando o maior software livre de educação do Brasil!

License: Other

Dockerfile 0.01% Ruby 54.71% JavaScript 7.97% HTML 13.65% CSS 0.55% Gherkin 0.28% Shell 0.01% TSQL 22.82%

i-diario's Introduction

Latest Release Maintainability Test Coverage

i-Diário

Portal do professor integrado com o software livre i-Educar

Comunicação

Acreditamos que o sucesso do projeto depende diretamente da interação clara e objetiva entre os membros da Comunidade. Por isso, estamos definindo algumas políticas para que estas interações nos ajudem a crescer juntos! Você pode consultar algumas destas boas práticas em nosso código de conduta.

Além disso, gostamos de meios de comunicação assíncrona, onde não há necessidade de respostas em tempo real. Isso facilita a produtividade individual dos colaboradores do projeto.

Canal de comunicação Objetivos
Fórum - Tirar dúvidas
- Discussões de como instalar a plataforma
- Discussões de como usar funcionalidades
- Suporte entre membros de comunidade
- FAQ da comunidade (sobre o produto e funcionalidades)
Issues do Github - Sugestão de novas funcionalidades
- Reportar bugs
- Discussões técnicas
Telegram - Comunicar novidades sobre o projeto
- Movimentar a comunidade
- Falar tópicos que não demandem discussões profundas

Qualquer outro grupo de discussão não é reconhecido oficialmente pela comunidade i-Educar e não terá suporte da Portabilis - mantenedora do projeto.

Instalação

  • Baixar o i-Diário:
$ git clone https://github.com/portabilis/i-diario.git
$ cd i-diario
  • Copiar o exemplo de configurações de banco de dados e configurar:
$ cp config/database.sample.yml config/database.yml

Com Docker

No config/database.yml mudar o host para host: postgres.

  • Rode docker-compose up.

Por baixo dos panos, será feito:

  • setup do secret_key_base;
  • setup do banco;
  • setup das páginas de erro.

Pule para o Configuração da Aplicação.

Sem Docker (Testado no Ubuntu 18.04)

  • Instalar o Ruby 2.3.7 (Recomendamos uso de um gerenciador de versões como Rbenv ou Rvm)
  • Instalar Postgres e configurar para fazer coincidir com o configurado em database.yml
  • Instalar a biblioteca libpq-dev
$ sudo apt install libpq-dev
  • Instalar a gem Bundler:
$ gem install bundler -v '1.17.3'
  • Instalar as gems:
$ bundle install
  • Criar e configurar o arquivo config/secrets.yml conforme o exemplo:
development:
  secret_key_base: CHAVE_SECRETA
  SMTP_ADDRESS: SMTP_ADDRESS
  SMTP_PORT: SMTP_PORT
  SMTP_DOMAIN: SMTP_DOMAIN
  SMTP_USER_NAME: SMTP_USER_NAME
  SMTP_PASSWORD: SMTP_PASSWORD
  BUCKET_NAME: S3_BUCKET_NAME

Nota: Você pode gerar uma chave secreta usando o comando bundle exec rake secret

  • Criar e configurar o arquivo config/aws.yml conforme o exemplo:
development:
  access_key_id: AWS_ACCESS_KEY_ID
  secret_access_key: AWS_SECRET_ACCESS_KEY
  • Criar o banco de dados:
$ bundle exec rake db:create
$ bundle exec rake db:migrate
  • Criar páginas de erro simples para desenvolvimento:
$ cp public/404.html.sample public/404.html
$ cp public/500.html.sample public/500.html

Configuração da Aplicação

  • Criar uma entidade:
$ bundle exec rake entity:setup NAME=prefeitura DOMAIN=localhost DATABASE=prefeitura_diario
  • Criar um usuário administrador:

Abra o rails console.

Sem docker:

$ bundle exec rails console

Com docker:

$ docker exec -it idiario bundle exec rails console

Crie um usuário administrador.

Entity.last.using_connection {
  User.create!(
    email: '[email protected]',
    password: '123456789',
    password_confirmation: '123456789',
    status: 'active',
    kind: 'employee',
    admin:  true
  )
}

Iniciar o servidor:

$ bundle exec rails server

Para acessar o sistema, use a URL http://localhost:3000

Usamos o PgHero para monitorar o banco de dados. Recomendamos a leitura da documentação.

Sincronização com i-Educar

  • Para executar a sincronização é necessário estar com o sidekiq rodando:
$ bundle exec sidekiq -d
  • Acessar Configurações > Api de Integraçao e configurar os dados do sincronismo
  • Acessar Configurações > Unidades e clicar em Sincronizar
  • Acessar Calendário letivo, clicar em Sincronizar e configurar os calendários
  • Acessar Configurações > Api de Integração
    • Existem dois botões nessa tela:
      • Sincronizar: Ao clicar nesse botão, será verificado a ultima data de sincronização e somente vai sincronizar os dados inseridos/atualizados/deletados após essa data.
      • Sincronização completa: Esse botão apenas aparece para o usuário administrador e ao clicar nesse botão, não vai fazer a verificação de data, sincronizando todos os dados de todos os anos.

Nota: Após esses primeiros passos, recomendamos que a sincronização rode pelo menos diariamente para manter o i-Diário atualizado com o i-Educar

Rodar os testes

$ RAILS_ENV=test bundle exec rake db:create
$ RAILS_ENV=test bundle exec rake db:migrate
$ bin/rspec spec

Upgrades

Upgrade para a versão 1.1.0

Nessa atualização a sincronização entre i-educar e i-diário foi completamente reestruturada e com isso o i-diário passa a ter dependência da versão 2.1.18 do i-educar.

Para o upgrade é necessário:

  • Atualizar o fonte para a versão 1.1.0
  • Parar o sidekiq:
$ ps -ef | grep sidekiq | grep -v grep | awk '{print $2}' | xargs kill -TERM && sleep 20
  • Rodar as migrations:
$ bundle exec rake db:migrate
  • Iniciar o sidekiq:
$ bundle exec sidekiq -d --logfile log/sidekiq.log
  • Executar a rake task que vai remover as enturmações e rodar a sincronização completa em todas as entidades:
$ bundle exec rake upgrade:versions:1_1_0

i-diario's People

Contributors

lucassch avatar jayata avatar gabrielms avatar marcelocajueiro avatar wilkinsondarolt avatar marcelobalexandre avatar ricardohsd avatar eberfreitas avatar matiasleidemer avatar carolinesalib avatar matheusportabilis avatar tiagocamargo avatar jonathanccalixto avatar rodolfopeixoto avatar victor-arruda avatar eduresende avatar pablobfonseca avatar iagoeffting avatar brsntus avatar esmerino avatar edersoares avatar rafaelss avatar

Watchers

James Cloos avatar

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.