empds:info

Atualmente no Escritório Modelo estamos desenvolvendo um sistema chamado Observatório de Educação Básica - OEB. Este sistema tem o objetivo de extrair informações qualificadas sobre o ensino básico de Santa Catarina, e está dividido em três fases: Atos autorizativos, Censo escolar e Auto avaliação institucional. A plataforma é desenvolvida em cooperação com o Conselho Estadual de Educação de Santa Catarina.

Antes de começar é importante entender e organizar a sua máquina para poder desenvolver e trabalhar tanto no backend como no frontend.

Além disso, nesse artigo adicionamos várias dicas de cursos, tanto gratuitos quanto pagos.


Dependências

O projeto desenvolvido no OEB tem básicamente uma tecnologia tanto no backend como no frontend, o JavaScript. Utilizamos Node.js no lado do servidor e React.js no lado do cliente. Se você vai começar agora e não tem experiência prévia com JavaScript ou alguma das tecnologias que trabalhamos recomendamos que faça algum curso para não ficar muito perdido.

O MongoDB é o único banco de dados utilizado na aplicação, e a biblioteca mongoose serviu para manipular o banco de dados através do node.js, facilitando a consulta, criação, alteração e remoção das entidades na base de dados.


Node.js

Para instalar o Node.js visite a página de download. Dentro da mesma baixe o executável se você está no Windows.

Caso use Linux recomendamos fortemente instalar com o snap.


Yarn

O Yarn é um gerenciador de pacotes muito semelhante ao NPM. A grande diferença entre eles é a performance.

No projeto nós escolhemos utilizar o Yarn, portanto nunca instale bibliotecas com o NPM, sempre com o Yarn.

Se estiver no Windows clique nesse link para baixar o executável. No linux basta seguir esse tutorial.


Controle de versão

O git é o responsável por manter o controle de versão da aplicação, e de como o fluxo do desenvolvimento deve seguir. Nós organizamos as novas funcionalidades em branches separadas, e mantemos na branch master o código final, que deve ir para produção. Os repositórios estão mantidos no servidor do GitLab, para auxiliar na integração com o sistema em produção, e o controle das versões utilizadas.


Testes

Para os testes, implementamos os roteiros utilizando a biblioteca Jest. O Jest serve principalmente para criação de testes unitários e de integração, totalmente automatizados.O objetivo aqui é garantir a qualidade final do produto, e também garantir que o sistema sempre funcione como deveria.


Sistema em produção

Para testarmos como o sistema se comporta em produção, utilizamos os serviços do Heroku para hospedar o backend. Além disso, integramos o sistema com os serviços do Sentry, com o objetivo de nos notificar quando ocorre um erro no sistema em produção. Ao contrário do backend, resolvemos hospedar o frontend no Netlify, por ser uma ferramenta muito simples e gratuita para hospedagens de clientes web.


Começando

Antes de entrar nessa seção certifique se você tem acesso ao repositório do backend e do frontend.

*Obs.: Se não tiver acesso entre em contato com o coordenador do projeto ou com algum responsável que possa lhe adicionar.*


Backend

Uma vez que você tem acesso aos repositórios do projeto crie uma pasta com o nome `oeb` na sua máquina.

Com a pasta criada vá até o repositório do backend e faça um clone do mesmo.

Para subir o servidor leia as instruções neste link.


Frontend

Dentro da mesma pasta `oeb` faça um clone do repositório do frontend.

Para subir o cliente leia as instruções neste link.


Observações

  • Evite trabalhar na master. Sempre que for trabalhar em uma nova feature abra um nova branch no seguinte padrão:
    • Abreviação-do-nome/nome-da-feature
    • Exemplo: jp/nova-rota-site
  • Nós temos um Slack do time também. O link para acesso é https://escritriomode-agg1529.slack.com.

Cursos

Tem algum curso para recomendar? Adicione aqui.


Gratuitos

Pagos

  • empds/info.txt
  • Última modificação: 2019/12/17 16:07
  • por 08125535942