Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prefeiturasp/SME-plataforma-curriculo
https://github.com/prefeiturasp/SME-plataforma-curriculo
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/prefeiturasp/SME-plataforma-curriculo
- Owner: prefeiturasp
- License: agpl-3.0
- Created: 2018-06-22T18:29:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-11-21T20:30:51.000Z (12 months ago)
- Last Synced: 2024-07-18T20:45:40.823Z (4 months ago)
- Language: Shell
- Size: 98.6 KB
- Stars: 10
- Watchers: 10
- Forks: 11
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-social-projects - SME Plataforma Currículo
README
# 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](http://forum.govit.prefeitura.sp.gov.br/uploads/default/original/1X/c88a4715eb3f9fc3ceb882c1f6afe9e308805a17.pdf "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](#Sobre-o-Time)
2. [Sobre o Produto](#Sobre-o-Produto)
3. [Como surgiu](#Como-surgiu)
4. [Links Úteis](#Links-Úteis)
5. [Comunicação](#Comunicação)
6. [Como contribuir](#como-contribuir)
7. [Repositórios](#Repositórios)
8. [Documentações Auxiliares](#Documentações-Auxiliares)
9. [Instalação e Configuração](#Instalação-e-Configuração)
----------
## [](#sobre-o-time)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)Sobre o Produto
### [](#objetivos-de-negócio)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)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)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)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)Como surgiu
### [](#fase-de-descoberta)Fase de Descoberta:
[https://educacao.sme.prefeitura.sp.gov.br/wp-content/uploads/Portals/1/Files/52812.pdf](https://educacao.sme.prefeitura.sp.gov.br/wp-content/uploads/Portals/1/Files/52812.pdf)
## [](#links-úteis)Links Úteis:
**Homologação:**
[https://hom-curriculo.sme.prefeitura.sp.gov.br/](https://hom-curriculo.sme.prefeitura.sp.gov.br/)
**Produção:**
[https://curriculo.sme.prefeitura.sp.gov.br/](https://curriculo.sme.prefeitura.sp.gov.br/)
## [](#comunicação)Comunicação:
Canal de comunicação
Objetivos
[Issues do Github](https://github.com/prefeiturasp/SME-plataforma-curriculo/issues)
- Sugestão de novas funcionalidades
- Reportar bugs
- Discussões técnicas
## [](#como-contribuir)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](https://github.com/prefeiturasp/SME/blob/master/docs/CONTRIBUTING.md) 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](https://github.com/prefeiturasp/SME/blob/master/docs/CODEOFCONDUCT.md).
## [](#repositórios)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](https://github.com/prefeiturasp/SME-plataforma-curriculo-API)
## [](#instalação-e-configuração)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](https://docs.docker.com/compose/install/) `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`.
4) 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`
5) Você ainda vai precisar exportar duas variáveis de ambiente, da pasta raíz deste repositório, de um terminal bash, execute
```bash
export APP_ROOT=$(pwd)
export APP_ENV=development " Pode ser production também
```
6) Construa as imagens com `docker-compose build`.
7) Suba os containers com `docker-compose up`.
8) Acesse a aplicação em `0.0.0.0` pelo browser.
9) Execute as migrações com `docker-compose exec api bundle exec rake db:migrate`.
10) 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](https://github.com/dlenski/openconnect) com suporte ao "palo alto globalprotect" é possivel conectar a vpn da pmsp com o comando:
```sh
$ sudo openconnect --protocol=gp vpn1.sme.prefeitura.sp.gov.br -u usuariovpn --servercert pin-sha256:tshIkwa9zrqyIwxzcH+KbtEE0YnsYijhHM1nVCI0Moo=
```
2) Conectar com o servidor interno no ip `10.50.0.147` com o usuario ssh forcenido pela prefeitura `ssh [email protected]`.
3) Criar swarm em produção:
```sh
$ sudo docker swarm init
> docker swarm join --token SWMTKN-1-5chx61bfz2e5e36alhzzv8sffz00080rrpp7bee8m2r15ytx9g-7vaym1i50bzh75f28rsgg53ab 10.50.0.147:2377
```
4) Se houver mais de um servidor remoto pode se utilizar o comando fornecido acima para conectar varias maquinas e criar um load-balancer.
5) 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 -`.
6) 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](https://github.com/dlenski/openconnect):
```sh
$ sudo openconnect --protocol=gp vpn1.sme.prefeitura.sp.gov.br -u usuariovpn --servercert pin-sha256:tshIkwa9zrqyIwxzcH+KbtEE0YnsYijhHM1nVCI0Moo=
```
2) 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.
3) Criar tunnel SSH e expor docker host:
```sh
$ ssh -p 22 -fNL localhost:2374:/var/run/docker.sock [email protected]
$ export DOCKER_HOST=tcp://localhost:2374
```
4) Deploy é feito pelo comando:
```sh
$ 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```
---