Recentemente, a Secretaria de Educação anunciou que um novo sistema de gestão escolar será lançado. Por isso, o aplicativo foi descontinuado e arquivado.
O Sistema Estadual de Gestão Escolar, conhecido como SEGES, é uma plataforma fornecida pela Secretaria de Educação. O serviço é utilizado por professores, pais e estudantes para consultas do boletim eletrônico, chamada escolar, rematrícula, etc. No entanto, devido à sua interface antiga e desatualizada, alguns usuários enfrentam dificuldades e insatisfações ao utilizá-lo. Pensando neste problema, desenvolvi o SEGES+, um aplicativo para Android que permite a consulta do boletim eletrônico de forma mais simples e fácil.
Warning
O SEGES+ não está relacionado ao SEGES e não é desenvolvido pela Secretaria de Educação.
flowchart LR
user(["Usuário"]);
app(["SEGES+"]);
seges(["SEGES"]);
user --> app;
app --> seges;
app --> user;
seges --> app;
style user fill:#479dff,color:#FFF,stroke-width:0px;
style app fill:#58aea0,color:#704789,stroke-width:0px;
style seges fill:#f3d76a,color:#704789,stroke-width:0px;
Resumidamente, o aplicativo se comunica e realiza web scraping
1 dos dados do usuário no site do SEGES e com isso disponibiliza uma interface aprimorada para o usuário.
Warning
Dado que a única forma de obter dados do SEGES atualmente é por meio de web scrapping, o aplicativo pode parar de funcionar a qualquer momento, uma vez que qualquer alteração no SEGES pode causar problemas ao aplicativo: O SEGES+ é totalmente dependente do SEGES.
O principal obstáculo para o projeto sem dúvidas é o CORS
(Cross-Origin Resource Sharing). Como o SEGES não expõe um cabeçalho permitindo o compartilhamento de recursos com outra origem2, é totalmente inviável utilizar soluções, como proxys, para permitir o desenvolvimento de uma versão web da aplicação.
Sendo assim, a solução é desenvolver um app nativo e utilizar a Capacitor HTTP API, Ela corrige e aplica patches no fetch
e no XMLHttpRequest
para usarem as bibliotecas nativas do sistema, seria como acessar o website oficial diretamente pelo navegador. Porém esta solução não se aplica a web, apenas dispositivos nativos (iOS/Android).3
O projeto foi desenvolvido utilizando React, TypeScript, Ionic Framework, Capacitor e Vite. Abaixo estão as ferramentas para desenvolver o aplicativo, os comandos podem variar dependendo do seu sistema operacional:
Requisitos | Versão | Observação |
---|---|---|
Node | lts/hydrogen | Node 18.x |
Java | 17 | |
Gradle | 7.6 | |
Apksigner | 31.0.2-1 | Suporte para assinatura v2, Android R+ |
- Depois de instalar e configurar as ferramentas, clone o repositório para o seu dispositivo com o comando abaixo:
git clone https://github.com/Lobooooooo14/SEGES-plus.git SEGES+
- Entre na pasta do projeto e instale as dependências:
cd SEGES+
npm ci
- Crie sua keystore para posteriormente assinar o APK. Deve se parecer com isso:
mkdir -p ./android/keystore/
keytool -genkey -v -keystore ./android/keystore/release.keystore -alias seuAliasAqui -keyalg RSA -keysize 2048 -validity 10000
- Crie um arquivo .env na raiz do projeto e configure as variáveis abaixo:
KEYSTOREPASS=
KEYSTOREALIASPASS=
KEYSTOREALIAS=
- Caso tudo esteja correto, agora você pode utilizar os scripts do npm para executar as seguintes tarefas:
Comando | Ação |
---|---|
npm run dev |
Inicia o aplicativo em modo desenvolvimento, com hot reloading e Chrome inspect. Certifique-se de usar um emulador ou um dispositivo Android. |
npm run build:debug |
Compila o app e assina o APK com uma assinatura de debug para desenvolvimento. Também é possível utilizar Chrome inspect. |
npm run build:release |
Compila o app e assina o APK para lançamento. |
npm run prettier:fix |
Corrige a formação dos arquivos. |
npm run sync |
Sincroniza (copia + atualiza) as dependências e arquivos para a versão nativa. |
Caso queira apoiar o projeto, você pode doar de duas maneiras: Github Sponsors, com valor mínimo de $ 1,00 dolar ou Pix com valor mínimo de R$ 1,00 reais:
Método | Link |
---|---|
|
Github Sponsors |
|
Pix |
Caution
Esteja ciente de que a aplicação pode deixar de funcionar a qualquer momento. Não me responsabilizo por possíveis problemas, banimentos ou restrições causadas pela aplicação.
Você pode baixar o APK
mais recente do SEGES+ clicando no botão abaixo:
![Download APK](https://private-user-images.githubusercontent.com/88998991/299086718-f1fbe840-8e05-47ae-859c-f1f99f85fbca.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyNTAxNjgsIm5iZiI6MTcyNDI0OTg2OCwicGF0aCI6Ii84ODk5ODk5MS8yOTkwODY3MTgtZjFmYmU4NDAtOGUwNS00N2FlLTg1OWMtZjFmOTlmODVmYmNhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIxVDE0MTc0OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBiZGQ0Y2QzMmMxZDBiNTg5ZGFiMWYwMjhjMmU0YWI1MzcyMjdiMzEwZTk2ZDY2ZTY5YTc1ZDNmYzI1ZGY0MTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zufeR1BEL3mvsfDgtz9sM8v6RTTPaY1PX9esGx4MrKQ)
No momento, o SEGES+ está disponível para download através das releases do GitHub.