Skip to content

Geek-Tek/Sbatti

Repository files navigation

Sbatti (Selfie)

Progetto di Tecnologie Web (Università di Bologna, INF/01 88566, A.A. 2024/25)

Nella vita di uno studente ci sono tanti Selfie, ma anche tanti Sbatti!

A cura di:

  • Mirco Quartieri, mirco.quartieri@studio.unibo.it (Eventi, Mobile View, Note, Notifiche, Pomodoro Timer, To Do);
  • Lorenzo Raffini, lorenzo.raffini2@studio.unibo.it (Calendario, Eventi, Gestione Utenti, Login, Mobile View, Note, Time Machine);
  • Alessandro Zanaglia, alessandro.zanaglia@studio.unibo.it (Calendario, Eventi, Mobile View, Routine, Testing);


    Partendo da una situazione di competenze disomogenee, il gruppo ha fatto il possibile per dividersi equamente i compiti lungo quasi un anno di lavoro.
    Tutti i membri del gruppo hanno contribuito al debugging, alle scelte e alle modifiche estetiche, mentre le scelte implementative che seguono sono merito di Lorenzo Raffini.

Per testare

Il progetto si trova caricato sul sito dell'UniBo (pobabilmente per un periodo di tempo limitato)
Sono previsti degli account di test per bypassare il login UniBo, in particolare username: asPM, password: 12345678.


Backend

Il database del progetto si può trovare su SbattiDB.

Oltre allo stack MERN indicato dai requisiti del progetto, ci siamo affidati a Firebase (FCM) e node-cron per la gestione delle notifiche. Di seguito la lista di pacchetti utilizzati, ottenuti tramite npm:

  • axios
  • cheerio
  • cors
  • express
  • firebase-admin
  • mongoose
  • node-cron

Frontend

Dopo un'attenta analisi del traffico della rete ed il permesso del professor Vitali di proseguire per questa strada, si è sostituito il classico accesso utente e password registrati via form con il Login DSA Unibo, il quale aggiunge la possibilità di selezionare gli insegnamenti di interesse dello studente, creando successivamente gli eventi relativi ad essi nel calendario.
Si è scelto di spostare le funzionalità di un'eventuale home page in una sidebar sempre visibile, con l'intenzione di risparmiare qualche click ai nostri colleghi e mantenere un ambiente essenziale con meno distrazioni possibili, senza però rinunciare alla comodità di avere sempre le proprie attività sotto controllo ed ogni funzionalità raggiungibile.
L'applicazione è sviluppata in React+TypeScript per godere della tipizzazione statica, insieme a tanti altri vantaggi, permettendoci di lavorare con maggiore manutenibilità e sicurezza, oltre che a facilitare le frequenti modifiche e riadattamenti fondamentali per portare avanti un progetto dinamico come questo.
In aggiunta ai pacchetti fondamentali React, eccone alcuni che abbiamo scelto di utilizzare (per la lista completa si veda il relativo file):

  • @fullcalendar
  • @mui/material
  • dayjs
  • firebase
  • react-dom
  • react-scripts

Extra

L'obbiettivo iniziale era l'estensione 18-33, successivamente per sovrapposizione con altri progetti durante l'anno accademico si è optato per 18-27: essendo lo scheletro di alcune funzionalità già esistente al momento del cambio di rotta, si è comunque scelto di lasciare quanto fatto anche se non completamente funzionante, così da offrire una visione della web-app completa.

About

Progetto di Tecnologie Web 2024-2025

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors