/SME-plataforma-curriculo

Primary LanguageShellGNU Affero General Public License v3.0AGPL-3.0

Estratégia de Transformação Digital e Governo Aberto na SME

Como um governo pode atuar para garantir o bem comum de todos? Na SME, acreditamos que um dos meios para isso seja garantir transparência e prestação de contas e constante relação entre governo e sociedade para o desenvolvimento e implementação de políticas públicas.

A Portaria SME nº 8.008, de 12 de novembro de 2018 oficializou a estratégia da Secretaria Municipal de Educação de SP para que nossas ações sejam pautadas nos princípios de Governo Aberto e para usarmos os valores e benefícios do mundo digital para melhorarmos nossos processos e serviços para os cidadãos. Com isso, pretendemos:

  • aumentar os níveis de transparência ativa e de abertura de dados, garantindo a proteção de dados pessoais;

  • instituir metodologias ágeis e colaborativas como parte do processo de desenvolvimento e de evolução de sistemas administrativos e de serviços digitais;

  • fortalecer o controle das políticas educacionais e da aplicação de recursos por parte da gestão e da sociedade;

  • promover espaços e metodologias de colaboração entre governo, Academia, sociedade civil e setor privado.

O Ateliê do Software (http://forum.govit.prefeitura.sp.gov.br/uploads/default/original/1X/c88a4715eb3f9fc3ceb882c1f6afe9e308805a17.pdf) é uma das ferramentas para operacionalização. Baseado em um modelo de contratação inspirado pelos movimentos ágil e de Software Craftsmanship, trabalhamos com equipes multidisciplinares para o desenvolvimento de produtos que beneficiam toda a comunidade escolar (técnicos da SME e DREs, gestores, professores, alunos e famílias) e concretizam os objetivos da Estratégia de Transformação Digital e Governo Aberto “Pátio Digital”.

Currículo da Cidade

Para os professores

Que precisam de facilidade de acesso ao material de apoio pra criação das aulas

O Currículo da Cidade

É uma plataforma web

Que apresenta sequências de atividades que articulam objetivos e competências da Matriz de Saberes, aos Objetivos de Desenvolvimento Sustentável e outros materiais (percursos de formação, Joca, entre outros) são disponibilizados em área restrita para os educadores da rede

Diferentemente de utilizar somente a versão impressa, com pouca interação entre os professores

O Nosso produto garante apoio ao processo de colaboração entre os professores, além de ser uma fonte de sequências de atividades, percursos de estudo e formação, disciplinas eletivas e outros materiais didáticos para os professores. Além disso, os professores poderão atuar de maneira autoral, compartilhando os próprios projetos e sequências de aprendizagem.

Conteúdo:

  1. Sobre o Time

  2. Sobre o Produto

  3. Como surgiu

  4. Links Úteis

  5. Comunicação

  6. Como contribuir

  7. Repositórios

  8. Documentações Auxiliares

  9. Instalação e Configuração


Sobre o Time:

| Papel | Titular | Suplente

|--|--|--|

| Product Owner | Heloisa Moraes e Lisandra Paes| - |

| Agente de Governança | @VitorFerragini | Gabriela Rowlands |

| Gerente de Projeto | Aline Freitas | |

| Scrum Master | Augusto Silva | |

| Designer de Serviços | @cintiafabi |@caiodibdeseixas |

| Analista Programador | Rodolpho Azeredo | |

Sobre o Produto

Objetivos de Negócio

  • Para o Ensino Fundamental, apresenta sequências de atividades que articulam objetivos de aprendizagem previstos em cada componente curricular às competências da Matriz de Saberes e aos Objetivos de Desenvolvimento Sustentável;

  • Para o Ensino Médio, apresenta os percursos de estudo e formação (temas divididos por área do conhecimentos baseados nos itinerários formativos e que se desdobram em disciplinas eletivas) para possibilitar o direito de escolha e o protagonismo dos estudantes e alinhamento aos Objetivos do Desenvolvimento Sustentável e aos eixos da BNCC.

  • O Currículo da Cidade se torna um material vivo e dinâmico, para consulta, inspiração e aplicação em sala de aula.

Personas

Uma persona representa um usuário do sistema, descrevendo não só o seu papel, mas também suas necessidades específicas. Isto cria uma representação realística, auxiliando o time a descrever funcionalidades do ponto de vista de quem interagirá com o produto final

Professores

  • Necessidades/dores: buscam por materiais para subsidiar as aulas e referências (como sequências, percursos, projetos do Trabalho Colaborativo Autoral, outras iniciativas realizadas pela comunidade escolar, entre outros)

  • O que considera valioso: ter materiais diferentes articulados com o Currículo da Cidade para serem usados em suas aulas e ter acesso a uma plataforma para interagir com colegas da rede. Além disso, ter suas próprias sequências, projetos e outras produções cadastradas e divulgadas em uma plataforma institucional

Estudantes

  • Necessidades/dores: ver projetos do TCA (Trabalho Colaborativo Autoral) cadastrados e interagir para realizar trocas de aprendizagens com outros estudantes da rede, no Ensino Fundamental e em algumas escolas do Ensino Médio.

Já no Ensino Médio, há necessidade de compreender as possibilidades dos percursos formativos para que a opção de escolha seja aproveitada. Nesta etapa, também é uma necessidade a maior clareza das possibilidades de construção dos próprios projetos de vida.

  • O que considera valioso: ter seus projetos e soluções ouvidos e conhecidos pela rede e ter o link para suas próprias redes sociais para ampliar o protagonismo e visibilidade dos próprios estudantes. A participação ativa amplia o vínculo com a escola, professores e colegas.

Também é importante garantirmos a segurança das informações postadas (lembrando que são crianças e adolescentes).

Comunidade

  • Necessidades/dores: possuir material disponível para subsidiar pesquisadores, jornalistas e sociedade em geral, possibilitando o acesso aos materiais produzidos de maneira transparente e incentivando parcerias

  • O que considera valioso: ter acesso aos materiais de uma rede que é referência e corresponder às políticas de transparência e compartilhamento de informação

Coordenador da UE

  • Necessidades/dores: precisam ter materiais de referência voltados para a formação dos professores visando a qualificação das práticas pedagógicas e garantir a articulação das atividades realizadas na unidade ao Currículo da Cidade

  • O que considera valioso: ter acesso às produções dos professores da escola e da rede, acessar as diferentes diretrizes da rede e ter insumos para articular ações para articular ações pedagógicas dinâmicas e coerentes com os princípios do Currículo da Cidade

Secretaria Municipal de Educação

  • Necessidades/dores: que a comunidade escolar tenha uma plataforma como referência para as possibilidades dos desdobramentos do Currículo da Cidade e que exista um lugar institucional para interação desses profissionais e estudantes

  • O que considera valioso: que a comunidade escolar tenha espaço de colaboração entre si; que as práticas pedagógicas coerentes com o currículo da cidade estejam visíveis para toda rede; que a plataforma apoie a proposta curricular para possibilitar a sua continuidade, permeando as diferentes gestões municipais

Funcionalidades

O que precisa ter no produto para que tal persona alcance tal objetivo?

  • Encontrar referências (sequências de atividades, percursos formativos e outros materiais) para subsidiar seu trabalho em sala de aula;

  • Salvar essas referências;

  • Consulta aos materiais disponibilizados;

  • Compartilhar e publicizar projetos desenvolvidos pela comunidade escolar;

  • Responder as consultas à rede criadas pela Secretaria/ NTC.

Roadmap

O Sequenciador de features ajuda a organizar e a visualizar as features e sua relação com os MVPs. Ele estrutura e planeja os lançamentos do produto, além do primeiro produto mínimo viável. Estimar esforço por amostragem.

  • Tá na rede;

  • Novo currículo do Ensino Médio.

Como surgiu

Fase de Descoberta:

https://educacao.sme.prefeitura.sp.gov.br/wp-content/uploads/Portals/1/Files/52812.pdf

Links Úteis:

Homologação:

https://hom-curriculo.sme.prefeitura.sp.gov.br/

Produção:

https://curriculo.sme.prefeitura.sp.gov.br/

Comunicação:

Canal de comunicação

Objetivos

Issues do Github

  • Sugestão de novas funcionalidades

  • Reportar bugs

  • Discussões técnicas

Como contribuir

Contribuições são super bem vindas! Se você tem vontade de construir o curriculo digital conosco, veja o nosso guia de contribuição onde explicamos detalhadamente como trabalhamos e de que formas você pode nos ajudar a alcançar nossos objetivos. Lembrando que todos devem seguir nosso código de conduta.

Repositórios:

Trabalhos do TCA

Sequência de atividades desenvolvidas nos diferentes componentes

Informar os repositórios de código que envolvem a solução:

[SME_plataforma-curriculo]

(https://github.com/prefeiturasp/SME-plataforma-curriculo)

[SME-plataforma-curriculo-API]

https://github.com/prefeiturasp/SME-plataforma-curriculo-API

Instalação e Configuração:

Instalação Local (desenvolvimento)

  1. Clone este repositório, entre na pasta e rode git submodule init e git submodule update para clonar também os outros repositórios envolvidos no projeto.

  2. Instale docker e docker compose.

  3. Existem 3 arquivos de ambiente que devem ser configurados.

a) .env.postgresql, com arquivo de exemplo em sample.env.postgresql. Nele você vai definir as configurações de banco de dados. Você pode escolher estes dados.

b) .env.api, com arquivo de exemplo em sample.env.api. Você também pode escolher uma SECRECT_KEY qualquer.

c) .env.interface, com arquivo de exemplo em sample.env.interface.

  1. Para buscar informações da API desenvolvida localmente em vez da de produção, altere o arquivo interface/src/constants.js para que a variável exportada API_URL = http://0.0.0.0

  2. Você ainda vai precisar exportar duas variáveis de ambiente, da pasta raíz deste repositório, de um terminal bash, execute

export APP_ROOT=$(pwd)

export APP_ENV=development " Pode ser production também
  1. Construa as imagens com docker-compose build.

  2. Suba os containers com docker-compose up.

  3. Acesse a aplicação em 0.0.0.0 pelo browser.

  4. Execute as migrações com docker-compose exec api bundle exec rake db:migrate.

  5. Alimente o banco de dados com docker-compose exec api bundle exec rake db:seed.

Instalação remota (produção)

  1. Usando o projeto openconnect com suporte ao "palo alto globalprotect" é possivel conectar a vpn da pmsp com o comando:
$ sudo openconnect --protocol=gp vpn1.sme.prefeitura.sp.gov.br -u usuariovpn --servercert pin-sha256:tshIkwa9zrqyIwxzcH+KbtEE0YnsYijhHM1nVCI0Moo=
  1. Conectar com o servidor interno no ip 10.50.0.147 com o usuario ssh forcenido pela prefeitura ssh usuariossh@10.50.0.147.

  2. Criar swarm em produção:

$ sudo docker swarm init

> docker swarm join --token SWMTKN-1-5chx61bfz2e5e36alhzzv8sffz00080rrpp7bee8m2r15ytx9g-7vaym1i50bzh75f28rsgg53ab 10.50.0.147:2377
  1. Se houver mais de um servidor remoto pode se utilizar o comando fornecido acima para conectar varias maquinas e criar um load-balancer.

  2. Criar secrets que serão usados pelos containers, os secrets estão listados no final do arquivo swarm.production.yml, para criar um: print "senhadopostgresql" | docker secret create POSTGRES_PASSWORD -.

  3. Fazer login no registry da prefeitura, isso evita problemas ao publicar os containers na etapa de deploy: docker login -u usuarioregistry -p senharegistry registry.sme.prefeitura.sp.gov.br.

Deploy

  1. Conectar a VPN usando openconnect:
$ sudo openconnect --protocol=gp vpn1.sme.prefeitura.sp.gov.br -u usuariovpn --servercert pin-sha256:tshIkwa9zrqyIwxzcH+KbtEE0YnsYijhHM1nVCI0Moo=
  1. Se houver mudança na API, Interface ou qualquer outro projeto faça a geração de novas imagens e publique no registry da prefeitura:

a) Gerar todas as imagens docker-compose -f swarm.production.yml build ou gerar somente a imagem de um projeto docker-compose -f swarm.production.yml build api.

b) Verifique se esta autenticado com o registry da prefeitura, se não faça o login usando docker login -u usuarioregistry -p senharegistry registry.sme.prefeitura.sp.gov.br.

c) Publicar imagens no registry da prefeitura docker push registry.sme.prefeitura.sp.gov.br/curriculo/interface:latest, faça isso para cada imagem alterada.

  1. Criar tunnel SSH e expor docker host:
$ ssh -p 22 -fNL localhost:2374:/var/run/docker.sock usuariossh@10.50.0.147

$ export DOCKER_HOST=tcp://localhost:2374
  1. Deploy é feito pelo comando:
$ docker stack deploy -c swarm.production.yml curriculum --with-registry-auth

Testando

Os testes são feitos com rspec que é instalado no container do docker. Para rodar os testes:

docker-compose exec api bundle exec rspec