Skip to content

DOrtenzio/WAYpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WAYpp - Il Tuo Compagno di Viaggio Intelligente

GitHub license GitHub contributors JavaFX PHP MySQL


🗺️ Panoramica del Progetto

WAYpp è un'applicazione desktop non innovativa progettata per semplificare la pianificazione e la programmazione dei tuoi viaggi. Sfruttando la potenza del cloud, offre un'esperienza utente fluida e integrata, combinando un'interfaccia intuitiva con funzionalità intelligenti per aiutarti in ogni fase del tuo viaggio. Che tu stia sognando un'avventura esotica o organizzando una breve gita, WAYpp è qui per trasformare le tue idee in realtà.

L'intera architettura si basa su un'infrastruttura client-server:

  • Frontend: Realizzato con JavaFX, offre un'interfaccia utente moderna e responsiva.
  • Backend: Costituito da un server PHP che espone diverse API RESTful per gestire la logica di business.
  • Database: Un database MySQL relazionale progettato ad hoc per garantire l'integrità e l'efficienza dei dati.

✨ Caratteristiche Principali

WAYpp è ricco di funzionalità pensate per il viaggiatore moderno:

  • Autenticazione Completa: Gestione di login, registrazione, recupero password e modifica delle informazioni utente.
  • Esplora Viaggi: Scopri viaggi standard o lasciati ispirare da viaggi esotici generati dall'IA (SALVINO), personalizzati in base ai tuoi gusti. Puoi scegliere, modificare e fare tuoi questi itinerari. image
  • Gestione Viaggi: Una sezione dedicata per visualizzare, aggiungere, modificare ed eliminare i tuoi viaggi personali. image image
  • Dettaglio Viaggio: Ogni viaggio è suddiviso in tre sezioni fondamentali:
    • 💰 Budget: Tieni sotto controllo le tue spese con un resoconto dettagliato per rimanere sempre nel budget.
    • 🎒 Elementi: Prepara la valigia senza dimenticare nulla! SALVINO ti suggerisce gli elementi essenziali in base al tipo di viaggio e a ciò che hai già aggiunto.
    • 📍 Itinerario: Organizza le tue tappe con mappe interattive, collegamenti ad app di navigazione, calendari per la tabella di marcia e consigli personalizzati di SALVINO su cosa vedere e fare in ogni luogo, basandosi sempre sui tuoi gusti.
    image image image

⚙️ Tecnologie Utilizzate

WAYpp sfrutta un mix potente di tecnologie e API esterne per offrire la sua ricchezza di funzionalità:

Core Technologies:

  • JavaFX: Per l'interfaccia utente desktop.
  • PHP: Per il server backend e le API.
  • MySQL: Per la gestione del database relazionale.
  • Maven: Gestione delle dipendenze per il progetto Java.
  • Java 11+: Per lo sviluppo dell'applicazione desktop, con particolare enfasi sulle HttpRequest per le chiamate API esterne.

API Esterne (e loro potenziale miglioramento):

  • GraphHopper API: Per calcolare percorsi mappati precisi e ottimizzati.
  • Maileroo API: Utilizzata per l'invio di email, come quelle per il reset della password.
  • Geocoding API: Per la conversione di indirizzi in coordinate geografiche e viceversa.
  • Groq API: Per l'integrazione dell'IA generativa (SALVINO) che assiste concretamente nell'organizzazione del viaggio, fornendo suggerimenti e creando itinerari.
  • Unsplash API: Per l'integrazione di immagini accattivanti nella sezione esplora.

Nota: Attualmente, alcune di queste API sono utilizzate con tier gratuiti, il che potrebbe comportare piccoli ritardi (ad esempio, un'attesa di 1 secondo dopo una geolocalizzazione). Se si desidera rimuovere queste limitazioni e migliorare le prestazioni (ad esempio, incrementando l'intelligenza dell'IA con API come quelle di OpenAI o Google Gemini), è possibile aggiornare i piani delle API. La flessibilità del codice, basata su HttpRequest di Java 11, permette di modificare facilmente le API con alternative a proprio piacere.


🚀 Installazione e Avvio

Per far funzionare WAYpp sul tuo sistema, segui questi passaggi:

  1. Requisiti:

    • Java Development Kit (JDK) 11 o superiore installato.
    • Apache Maven installato.
    • XAMPP (o un ambiente equivalente con Apache e MySQL) installato e configurato.
  2. Configurazione del Backend (PHP & MySQL):

    • Clona questo repository:

      git clone [https://github.com/your-repo/WAYpp.git](https://github.com/your-repo/WAYpp.git)
      cd WAYpp
    • Database: Importa lo schema del database MySQL fornito nella cartella WAYpp/CODE/db/ (o dove si trova il tuo schema grafico). Assicurati che il database sia accessibile da XAMPP. image

    • Server PHP: Configura il server PHP all'interno del tuo ambiente XAMPP, posizionando i file del backend nella directory htdocs/api (Creala se non esiste) di XAMPP o configurando un virtual host. Seguendo i file indicati nel percorso WAYpp/CODE/server_php/.

    • Avvia Apache e MySQL tramite XAMPP.

      image
  3. Configurazione delle API e delle Variabili d'Ambiente:

    • Crea un file .env nella directory principale del progetto, copiandolo dal file .env.example fornito.
      cp .env.example .env
    • Apri il file .env e inserisci le tue chiavi API per GraphHopper, Maileroo, Geocoding, Groq, ect.
  4. Compilazione ed Esecuzione del Frontend (JavaFX):

    • Naviga nella directory principale del progetto (dove si trova il pom.xml di Maven).
    • Compila il progetto Maven:
      mvn clean install
    • Esegui l'applicazione JavaFX:
      mvn javafx:run

    Hey non complicarti la vita usa un IDE 🫡


🤝 Contributi

Siamo entusiasti di ricevere contributi, suggerimenti e miglioramenti al progetto! WAYpp è un software libero e la collaborazione è fondamentale per la sua crescita. Sia che tu voglia correggere un bug, aggiungere una nuova funzionalità o migliorare l'interfaccia utente, ogni aiuto è ben accetto.

Nonostante il continuo diminuire dell'uso di JavaFX nell'ambito dello sviluppo di nuove applicazioni (cosa che ci spinge a essere sempre attenti alle nuove tendenze, ma non ci impedisce di apprezzarne la robustezza e le capacità per applicazioni desktop dedicate), crediamo che la sua integrazione in WAYpp sia solida e funzionale.

Ringraziamo sentitamente i seguenti contributori:

  • gutroch

  • Diego D'Ortenzio

  • E non ultimo, il nostro amico peloso Rocky 🐶!

    image

📸 Galleria Foto

Ecco degli screenshot dell'app in azione!

image image image image image image image image image image image image image image

📜 Licenza

Questo progetto è rilasciato sotto licenza MIT License.


About

WAYpp, trip app with JavaFx for frontend, php and mysql for backend.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors