/poliauth-expo-demo

rapidissima demo di come si potrebbe implementare l'autenticazione del poli in un app mobile

Primary LanguageTypeScript

PoliAuth Expo Demo

questa è una demo di implementazione dell'autenticazione / scraping del sito del poli in un'app basata su React Native e Expo

È un esempio di come si potrebbe strutturare un'ipotetica implementazione dei servizi online del poli nell'app, per includere in-app cose come l'accesso a webeep, media dei voti, calendario delle lezioni, iscrizione e date degli esami

Struttura

  • in App.tsx viene gestita la navigazione tra la pagina di default e la pagina di login, e viene gestita la lettura / scrittura sullo storage del dispositivo del token OAuth2 per la persistenza del login.
  • in api.ts sono dichiarate alcune funzioni che servono per le chiamate e lo scraping del sito del poli
  • in pages/Home.tsx c'è un po' di roba inutile per la visualizzazione dell'orario per la demo e il tasto di login / logout
  • in pages/Login.tsx viene dichiarato il componente con la webview per il login e viene gestito la richiesta del token OAuth2
  • tutto il resto è boilerplating di react native

Come eseguire l'applicazione

il processo di sviluppo nativo è quello fornito da expo, puoi leggere tutti i dettagli nella documentazione di Expo

Per un quick start segui queste istruzioni

Prerequisiti

  • NodeJS
  • Yarn (che con Node 16.10+ si può attivare con il comando corepack enable)
  • La CLI Expo che si può installare con il comando
    npm install --global expo-cli
  • L'applicazione Expo GO installata sul proprio telefono (https://expo.dev/client)

Esecuzione

L'app può essere eseguita sul dispositivo con il comando

yarn start

e inquadrando il codice QR che viene sputato nella linea di comando, e il bundle javascript verrà scaricato nell'app Expo Go, che supporta hot-reload e da cui si può aprire un element inspector e avviare debugger scuotendo con molta rabbia e violenza il telefono