diff --git a/INSTALL.md b/INSTALL.md index acac03057..2df30fa84 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,6 +2,11 @@ Você pode instalar o i-Diário utilizando Docker ou diretamente no seu servidor web. +- [Dependências](#dependências) +- [Instalação utilizando Docker](#instalação-utilizando-docker) +- [Instalação em servidor web](#instalação-em-servidor-web) +- [Primeiro acesso](#primeiro-acesso) + ## Dependências Para executar o projeto é necessário a utilização de alguns softwares. @@ -23,11 +28,39 @@ Para executar o projeto é necessário a utilização de alguns softwares. Para instalar o projeto execute **todos os passos** abaixo: -> ATENÇÃO: Essa forma de instação tem o objetivo de facilitar demonstrações e -desenvolvimento. Não é recomendado para ambientes de produção! +> ATENÇÃO: Essa forma de instalação tem o objetivo de facilitar demonstrações e o desenvolvimento. Não é recomendado +> para ambientes de produção! + +Para instalar o projeto execute todos os passos abaixo. -Em breve.. +* Clone o repositório: +```bash +git clone https://github.com/portabilis/i-diario.git && cd i-diario +``` + +Faça o build das imagens Docker utilizadas no projeto e inicie os containers da aplicação (pode levar alguns minutos): + +```bash +docker-compose up --build +``` + +Aguarde a instalação finalizar até algo similar aparecer na tela: + +```log +idiario-puma | * Puma version: 6.5.0 ("Sky's Version") +idiario-puma | * Ruby version: ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux] +idiario-puma | * Min threads: 0 +idiario-puma | * Max threads: 5 +idiario-puma | * Environment: development +idiario-puma | * PID: 1 +idiario-puma | * Listening on http://0.0.0.0:3000 +idiario-puma | Use Ctrl-C to stop +``` + +#### Personalizando a instalação + +Você pode criar um arquivo `docker-compose.override.yml` para personalizar sua instalação do i-Diário. ## Instalação em servidor web @@ -150,7 +183,11 @@ bundle exec rails entity:admin:create NAME=idiario ADMIN_PASSWORD=A123456789$ Após os passos acima, o i-Diário estará completamente instalado e é preciso subir os serviços necessários para o funcionamento completo do software. -Execute em 3 abas distintas do servidor cada um dos comandos abaixo: +### Execução + +Para executar o software, é preciso executar em 3 abas distintas do servidor cada um dos comandos abaixo: + +#### Puma Ativar o Puma para responder na porta 80. @@ -158,15 +195,41 @@ Ativar o Puma para responder na porta 80. bundle exec rails server -b 0.0.0.0 -p 80 ``` +#### Sidekiq (sincronização) + Ativar o Sidekiq para processar a fila de sincronização. ```bash bundle exec sidekiq -q synchronizer_enqueue_next_job -c 1 --logfile log/sidekiq.log ``` +#### Sidekiq + Ativar o Sidekiq para processar as demais filas. ```bash bundle exec sidekiq -c 10 --logfile log/sidekiq.log ``` + + +### Primeiro acesso + +Acesse [http://localhost:3000](http://localhost:3000) ou o IP do seu servidor para fazer o seu primeiro acesso. + +O usuário padrão é: `admin` / A senha padrão é: `A123456789$`. + +Assim que realizar seu primeiro acesso **não se esqueça de alterar a senha padrão**. + +### Sincronização com i-Educar + +Para fazer a sincronização entre i-Educar e i-Diário é necessário configurar os dados do ambiente do i-Educar em +`Configurações > API de Integração`. + +Após configurada a integração, será exibido dois botões: +- `Sincronizar`: ao clicar neste botão, será somente sincronizado os dados inseridos/atualizados/deletados após a + última data de sincronização. +- `Sincronização completa`: ao clicar nesse botão, será feita uma sincronização de todos os dados dos últimos 2 anos. + Este botão apenas é exibido para o usuário `admin`. + +_Nota: é recomendada que a sincronização seja executada diariamente para manter o i-Diário atualizado com o i-Educar_ diff --git a/README.md b/README.md index 9ca0aaba7..cbea61105 100644 --- a/README.md +++ b/README.md @@ -6,106 +6,40 @@ Portal do professor integrado com o software livre [i-Educar](https://github.com ## 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](https://github.com/portabilis/i-diario/blob/master/CODE_OF_CONDUCT.md). +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](https://github.com/portabilis/i-educar/blob/master/CODE-OF-CONDUCT.md). -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. +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](https://forum.ieducar.org) | - 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](https://github.com/portabilis/i-diario/issues/new/choose) | - Sugestão de novas funcionalidades
- Reportar bugs
- Discussões técnicas | -| [Telegram](https://t.me/ieducar ) | - Comunicar novidades sobre o projeto
- Movimentar a comunidade
- Falar tópicos que **não** demandem discussões profundas | +| Canal de comunicação | Objetivos | +|------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [Fórum](https://forum.ieducar.org) | - 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](https://github.com/portabilis/i-educar/issues/new/choose) | - Sugestão de novas funcionalidades
- Reportar bugs
- Discussões técnicas | +| [Telegram](https://t.me/ieducar ) | - 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. +Qualquer outro grupo de discussão não é reconhecido oficialmente pela +comunidade i-Educar e não terá suporte da Portábilis - mantenedora do projeto. -## Instalação - -Formas de fazer a instalação: - -- [Instalação utilizando Docker](#Instalação-utilizando-Docker) - -### Instalação utilizando Docker - -> ATENÇÃO: Essa forma de instação tem o objetivo de facilitar demonstrações e desenvolvimento. Não é recomendado -> para ambientes de produção! - -Para instalar o projeto execute todos os passos abaixo. - -* Clone o repositório: - -```bash -git clone https://github.com/portabilis/i-diario.git && cd i-diario -``` - -Faça o build das imagens Docker utilizadas no projeto e inicie os containers da aplicação (pode levar alguns minutos): - -```bash -docker-compose up --build -``` - -Aguarde a instalação finalizar até algo similar aparecer na tela: - -```log -idiario-puma | * Puma version: 6.5.0 ("Sky's Version") -idiario-puma | * Ruby version: ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-linux] -idiario-puma | * Min threads: 0 -idiario-puma | * Max threads: 5 -idiario-puma | * Environment: development -idiario-puma | * PID: 1 -idiario-puma | * Listening on http://0.0.0.0:3000 -idiario-puma | Use Ctrl-C to stop -``` +## Como contribuir -#### Personalizando a instalação +Contribuições são **super bem-vindas**! Se você tem vontade de construir o +i-Educar junto conosco, veja o nosso [guia de contribuição](./CONTRIBUTING.md) +onde explicamos detalhadamente como trabalhamos e de que formas você pode nos +ajudar a alcançar nossos objetivos. -Você pode criar um arquivo `docker-compose.override.yml` para personalizar sua instalação do i-Diário. - -### Primeiro acesso - -Acesse [http://localhost:3000](http://localhost:3000) ou o IP do seu servidor para fazer o seu primeiro acesso. - -O usuário padrão é: `admin` / A senha padrão é: `A123456789$`. - -Assim que realizar seu primeiro acesso **não se esqueça de alterar a senha padrão**. - -### Sincronização com i-Educar - -Para fazer a sincronização entre i-Educar e i-Diário é necessário configurar os dados do ambiente do i-Educar em -`Configurações > API de Integração`. - -Após configurada a integração, será exibido dois botões: - - `Sincronizar`: ao clicar neste botão, será somente sincronizado os dados inseridos/atualizados/deletados após a - última data de sincronização. - - `Sincronização completa`: ao clicar nesse botão, será feita uma sincronização de todos os dados dos últimos 2 anos. - Este botão apenas é exibido para o usuário `admin`. - -_Nota: é recomendada que a sincronização seja executada diariamente para manter o i-Diário atualizado com o i-Educar_ - -### Console - -Para acessar o console do Rails, execute o comando: +## Instalação -```bash -# (Docker) docker-compose run ruby bundle exec rails console -bundle exec rails console -``` +Consulte o passo a passo no [guia de instalação](INSTALL.md). -### Executar os testes +## Perguntas frequentes (FAQ) -```bash -# (Docker) docker-compose run ruby RAILS_ENV=test bundle exec rails db:create -RAILS_ENV=test bundle exec rails db:create +Algumas perguntas aparecem recorrentemente. Olhe primeiro por aqui: [FAQ](https://github.com/portabilis/i-educar-website/blob/master/docs/faq.md). -# (Docker) docker-compose run ruby RAILS_ENV=test bundle exec rails db:migrate -RAILS_ENV=test bundle exec rails db:migrate -``` +--- -```bash -# (Docker) docker-compose run ruby bundle exec rspec --exclude-pattern 'spec/acceptance/*.feature' -bin/rspec spec -``` +Powered by [Portábilis](https://portabilis.com.br/).