===== Informações - Observatório de Educação Básica ===== Este projeto 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. {{ :empds:projetos:login_da_instituicao_-_observatorio_de_educacao_basica.png?800 |}} ==== Tecnologias utilizadas ==== === Plataforma === O projeto utiliza somente uma tecnologia tanto para o backend como para o frontend, o JavaScript. Utilizamos [[http://nodejs.org/ | Node.js]] no lado do servidor e [[https://reactjs.org/ | 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. === Banco de dados === O [[https://www.mongodb.com/ | MongoDB]] é o único banco de dados utilizado na aplicação, e a biblioteca [[https://mongoosejs.com/ | 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. === Controle de versão === O [[https://git-scm.com/ | git]] é o responsável por manter as versões da aplicação, e de como o fluxo do desenvolvimento deve seguir. As novas funcionalidades são organizadas em branches separadas, e na branch "master" o código final, que deve ir para produção. Os repositórios estão mantidos no servidor do [[https://gitlab.com/ | 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 [[https://jestjs.io/ | 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 [[https://www.heroku.com/ | Heroku]] para hospedar o backend. Além disso, integramos o sistema com os serviços do [[https://sentry.io/welcome/ | 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 [[https://www.netlify.com/ | Netlify]], por ser uma ferramenta muito simples e gratuita para hospedagens de clientes web. === Começando === Para ter instruções de como utilizar o projeto [[empds:projetos:oeb:instrucoes|clique aqui]]