1. Introduzione
Il backend del mio sito web è stato sviluppato utilizzando Spring Boot, un framework Java che permette di creare API RESTful scalabili e sicure. Ho implementato una serie di funzionalità per la gestione degli utenti e dei dati tramite un database collegato.
2. Autenticazione con JWT
Per garantire la sicurezza dell'applicazione, ho implementato l'autenticazione tramite JSON Web Token (JWT). Un esempio pratico di Spring Security richiede l'autenticazione con JWT. È possibile registrarsi per ottenere il token JWT e successivamente utilizzare questo token per effettuare il login.
3. Registrazione e Accesso
4. Connessione al Database
Il backend è collegato a un database PostgresSQL. La configurazione di base è gestita tramite il file application.properties
, questo riportato, è un esempio utilizzando i parametri in chiaro:
Ps. In un ambiente di produzione, si utilizzano variabili d'ambiente .env per evitare di hardcodare informazioni sensibili come in questo caso
spring.datasource.url=jdbc:postgresql://localhost:5432/sito-curriculum #Stringa di collegamento al db
spring.datasource.username=root
spring.datasource.password=password #Parametri di connessione hardcodati
spring.jpa.hibernate.ddl-auto=update #Configurazioni di spring boot
spring.jpa.properties.hibernate.default_schema=public #Configurazioni di spring boot
spring.jpa.show-sql=true #Configurazioni di spring boot
Disclaimer: Un Sito Sicuro e Gestito Manualmente 🚀
Questo sito è sicuro e utilizza HTTPS, garantendo che tutte le comunicazioni tra il browser e il server siano criptate. La configurazione di HTTPS è stata realizzata manualmente, utilizzando certificati SSL validi per proteggere i dati e migliorare l'affidabilità del sito.
Il sito è ospitato su un server Hetzner con un dominio personalizzato, che ho configurato autonomamente per garantire performance elevate e sicurezza. Questo processo include la gestione completa del server e della configurazione del dominio.
La sezione "Progetti" è alimentata da un backend realizzato in Spring Boot, che gestisce dinamicamente i dati tramite API. Ogni progetto viene caricato in tempo reale, offrendo un'esperienza utente fluida e interattiva.
Nonostante le funzionalità moderne, l'intero sistema è stato progettato per essere semplice ed efficiente, dimostrando come frontend e backend possano lavorare insieme in modo efficace in un'applicazione full-stack.