O Sistema Eletrônico de Gestão do Transporte Escolar (SETE) é um software de e-governança desenvolvido pelo CECATE UFG voltado a auxiliar na gestão do transporte escolar dos municípios brasileiros considerados suas singularidades. O sistema foi projeto com intuito de não depender de nenhum software proprietário, desta forma é possível utilizá-lo sem ter de licenciar programas dependentes.
O SETE possui versões para web, desktop e móvel (em andamento). A versão desktop possibilita que o mesmo seja utilizado para operar em municípios que possuem acesso restrito à Internet sendo resiliente o suficiente para continuar operando mesmo na ausência de acesso à Internet. A versão web e a versão desktop são aproximadamente idênticas. A diferença é que a versão web não inclui as ferramentas de sugestões de rotas.
Para baixar o software, basta clicar na versão abaixo do seu sistema operacional.
O SETE é construído em cima do framework Electron, um arcabouço para codificação de aplicações desktop modernas baseado no ecosistema Node.js.
O SETE utiliza bibliotecas nativas, a saber o SQLite, para possibilitar o uso e armazenamento de informações de forma offline.
Considerando estes fatores, para construir o SETE assume-se as seguintes dependências básicas:
- Node.js v12 LTS (e.g., Node.js v12.18.3)
- Yarn v1.22. (utilizado pelo electron para empacotar os binários)
- Python 2.7 (muitos módulos nativos ainda usam o Python 2)
- fakeroot, dpkg e rpm para compilar pacotes para GNU/Linux
- windows-build-tools (para compilação dos módulos no Windows)
- Wix Toolset (para gerar binários .msi e .exe para o Windows)
Para compilar o código execute os seguintes passos.
Instale o NodeJS v12. Você pode utilizar os binários disponbilizados no site nodejs.org ou utilizar uma ferramenta de versionamento para instalação (e.g., Node Version Manager - NVM).
Semelhantemente, instale o gerenciador de pacotes Yarn v1.22. Você pode utilizar os binários disponiblizados no site https://yarnpkg.com/. O yarn é utilizado pelo electron-forge para gerar os binários.
Caso queira compilar para GNU/Linux, instale os pacotes fakeroot
, dpkg
e rpm
.
Por exemplo, no Ubuntu 18.04, você deve executar o seguinte comando:
sudo apt-get install fakeroot dpkg rpm
Caso queira compilar para o Windows, instale o Wix Toolset e coloque o diretório bin
do mesmo na variável PATH. Por exemplo, adicionando C:\Program Files (x86)\WiX Toolset v3.11\bin
a variável de ambiente PATH.
No caso da plataforma Windows ainda é necessário instalar o pacote global windows-build-tools para compilação dos módulos nativos. Como administrador instale este pacote executando o seguinte comando:
npm install --global windows-build-tools
Por fim, o Windows ainda requer que o npm
especifique a versão do compilador do Visual Studio, no caso 2017, e o caminho do binário do Python (instalado pelo windows-build-tools
). Por exemplo, os comando abaixos especificam a versão 2017 e um caminho do Python (modifique para ser condizente com sua máquina).
npm config set msvs_version "2017"
npm config set python "C:\\Python27-x64\\pythonw.exe"
git clone https://github.com/marcosroriz/sete/
Depois instale as dependência:
npm install
Por fim, recompile a dependência nativa.
npm install sqlite3 --build-from-source --runtime=electron --target=8.5.2 --dist-url=https://electronjs.org/headers
Para executar o projeto basta utilizar o seguinte comando:
npm run start
A geração de binários é feita utilizando o utilitário electron-forge
. Especificamente, para gerar os binários, que ficarão na pasta out
, execute o seguinte comando:
npm run make
O sistema é distribuído gratuitamente sob a licença de software livre MIT que possibilita o compartilhamento e modificação do código do mesmo por terceiros, por exemplo, por agências públicas, empresas e equipes tecnológicas dos municípios.