Skip to content
Ricardo Poppi edited this page May 17, 2018 · 15 revisions

EJ Platform

This is the EJ Platform main repository. EJ is the short for "Empurrando Juntos" (Pushing Together) a social participation and opinion gathering platform with checks and balances for opinion bubbles and manipulation.

We are currently working on a generic version of EJplatform (for general organizations and local governments) and an specific application for children and teenager public policies.

EJ Generic platform (english)

  • ME-1: Provide a participation and opinions collection tool to be used from organizations and governments
  • ME-2: Stimulating diversity of opinion, with safeguards for manipulation phenomena

Stage 0 - Concept creation

Stage 1 - Generic MVP (until 11/junho)

Sprint 1 - 30/april to 14/may
Sprint 2 - 14/may to 28/may
Sprint 3 - 28/may to 11/june

Stage 2 - Gameficated platform (until 23/july)

Sprint 1 - 11/june to 25/june
Sprint 2 - 25/june to 9/july
Sprint 3 - 9/july to 23/july

Stage 3 - (to be defined)

Sprint 1 - 23/july to 6/august
Sprint 2 - 6/august to 20/august
Sprint 3 - 20/august to 3/september

EJ para crianças e adolescentes (for children and teenager) (português)

Metas estratégicas

  • ME-1: Suportar as deliberações do CPA e a gestão do conhecimento e seu diálogo com SNDCA e CONANDA;
  • ME-2: Estimular e suportar a articulação do CPA com adolescentes engajados e interessados em pautas temáticas, aprofundando debates, constituindo comunidades permanentes e mais duradouras de diálogo;
  • ME-3: Estimular o protagonismo da maior quantidade e da maior diversidade de crianças e adolescentes que é possível com a preocupação clara de incluir as crianças e adolescentes sem perfil de engajamento político, já que os espaços institucionais geralmente só conseguem estimular a participação de quem já está engajado e atua em movimentos e entidades.

Épicas

E-1: Plataforma de Participação Social

Para SNDCA
que realizam projetos de participação política para crianças e adolescentes
o produto Plataforma de Participação Social
é uma rede social de pesquisas de opinião
que estimula a comunicação entre diferentes perfis de opinião
onde satisfaz as MEs 2, 3

E-2: Plataforma de Comunicação

Para SNDCA
que realizam projetos de participação política para crianças e adolescentes
o produto Plataforma de Comunicação
é uma ferramenta de comunicação para grupos de trabalho
que facilita o trabalho colaborativo virtual e a deliberação de grupos
onde satisfaz as MEs 1, 2, 3

Etapas

Etapa 0 - Montagem da equipe (de 05/fev até 05/março/2018)

descrever o processo

Etapa 1 - MVP Plataforma Virtual de Participação de Adolescentes (até 30/abril/2018)

Sprint 1 - 05/mar a 19/mar
Sprint 2 - 19/mar a 02/abril
Sprint 3 - 02/abril a 16/abril
Srpint 4 - 16/abril a 30/abril

descrever o processo e colocar o link da entrega, prints etc

Etapa 2 - Aprimoramento da interface do EJ CPA + Rocket (PVPA) (até 11/junho/2018)

Sprint 1 - 30/abril a 14/maio
Sprint 2 - 14/maio a 28/maio
Sprint 3 - 28/maio a 11/junho

Etapa 3 - Plataforma com gameficação (até 23/julho/2018)

Sprint 1 - 11/junho a 25/junho
Sprint 2 - 25/junho a 9/julho
Sprint 3 - 9/julho a 23/julho

Guia de Uso de Docker do ejplatform

Resumo das mudanças

  • O diretório compose foi atualizado e substituido para docker;

  • Todos os .yml de configuração do docker-compose foram atualizados e movidos para seus respectivos contextos no diretório docker;

  • ej-server agora possui a seguinte herança de imagens Docker:

    1. ej-server:base: Possui todas as dependências definidas em requirements/base.txt e todos os scripts definidos em docker/base/script (ex: runserver.sh, gunicorn.sh, test.sh, run_celery.sh, etc) na raíz do docker (/);

      1. ej-server:base-test: Além dos recursos de ej-server:base, possui todas as dependências definidas em requirements/test.txt. Essa imagem é utilizada para executar os testes locais e para o ambiente de desenvolvimento;

      2. ej-server:base-production: Além dos recursos de ej-server:base, possui todas as dependências definidas em requirements/production.txt;

        1. ej-server:develop: Além dos recursos de ej-server:base-production, possui o ambiente de homologação devidamente configurado;

          1. ej-nginx:develop: Copia os arquivos estáticos de ej-server:develop para seu ambiente nginx.
        2. ej-server:latest: Além dos recursos de ej-server:base-production, possui o ambiente de produção devidamente configurado;

          1. ej-nginx:latest: Copia os arquivos estáticos de ej-server:latest para seu ambiente nginx.

Cleanup

Full Cleanup

ALERTA! Isso irá limpar TUDO que tange aos serviços Docker! Faça apenas se tiver CERTEZA de que tudo que possui de Docker ( incluindo de outros sistemas ) é dispensável!

  1. Pare todos os containers:

    sudo docker stop `sudo docker ps -a -q`
  2. Remova todos os containers:

    sudo docker rm `sudo docker ps -a -q`
  3. Remova todas as imagens dangling:

    sudo docker rmi `sudo docker images -a -q -f "dangling=true"`
  4. Remova todas as imagens:

    sudo docker rmi -f `sudo docker images -a -q`
  5. Limpe as redes:

    sudo docker network prune
  6. Limpe os volumes:

    sudo docker volume prune

Através de Investigação

  1. Liste os containers:

    sudo docker ps
  2. Pare todos os containers do ejplatform:

    sudo docker stop <CONTAINER ID>
  3. Remova todos os containers do ejplatform:

    sudo docker rm <CONTAINER ID>
  4. Liste as imagens:

    sudo docker images
  5. Remova todas as imagens do ejplatform:

    sudo docker rmi <IMAGE ID>
  6. Liste as redes:

    sudo docker network ls
  7. Remova todas as redes do ejplatform:

    sudo docker network rm <NETWORK ID>
  8. Liste os volumes:

    sudo docker volume ls
  9. Remova todos os volumes do ejplatform:

    sudo docker volume rm <VOLUME NAME>

Ambiente Local

Subir ambiente sem iniciar serviços django

sudo docker-compose -f docker/local/idle.yml up -d

Subir ambiente iniciando todos os serviços

sudo docker-compose -f docker/local/start.yml up -d

Lidando com Atualizações

Atualizações nos Scripts

  1. Confirme o desejo de modificação com o time de desenvolvimento, visto que as atualizações irão perpetuar em todos os ambientes quando estes forem atualizados;

  2. Garanta que esteja na última versão da branch base:

    git fetch origin
    git checkout base
    git pull origin base
  3. Crie o commit com a mudança no script;

  4. Opte por testar o(s) script(s) atualizando localmente as imagens que este(s) script(s) são utilizados. Exemplo: Alterei o script runserver.sh e ele utilizado no ambiente local, portanto:

    sudo docker-compose -f docker/base/base.build.yml build
    sudo docker-compose -f docker/base/test.build.yml build
    sudo docker-compose -f docker/local/start.yml up
  5. push na branch base com a modificação.

Atualizações no requirements/base.txt

  1. Confirme o desejo de modificação com o time de desenvolvimento, visto que as atualizações irão perpetuar em todos os ambientes quando estes forem atualizados;

  2. Garanta que esteja na última versão da branch base:

    git fetch origin
    git checkout base
    git pull origin base
  3. Crie o commit com a mudança nas dependências;

  4. Verifique a instalação da(s) nova(s) dependência(s):

    sudo docker-compose -f docker/base/base.build.yml build
  5. push na branch base com a modificação.

Atualizações no requirementes/test.txt

  1. Confirme o desejo de modificação com o time de desenvolvimento, visto que as atualizações irão perpetuar em todos os ambientes locais quando estes forem atualizados;

  2. Garanta que esteja na última versão da branch base_test:

    git fetch origin
    
    git checkout base
    git pull origin base
    
    git checkout base_test
    git pull origin base_test
    
    git merge base
  3. Crie o commit com a mudança nas dependências;

  4. Verifique a instalação da(s) nova(s) dependência(s):

    sudo docker-compose -f docker/base/test.build.yml build
  5. push na branch base_test com a modificação.

Atualizações no requirementes/production.txt

  1. Confirme o desejo de modificação com o time de desenvolvimento, visto que as atualizações irão perpetuar em todos os ambientes de produção/homologação quando estes forem atualizados;

  2. Garanta que esteja na última versão da branch base_production e sincronizada com a branch base:

    git fetch origin
    
    git checkout base
    git pull origin base
    
    git checkout base_production
    git pull origin base_production
    
    git merge base
  3. Crie o commit com a mudança nas dependências;

  4. Verifique a instalação da(s) nova(s) dependência(s):

    sudo docker-compose -f docker/base/production.build.yml build
  5. push na branch base_production com a modificação.

Clone this wiki locally