🇮🇹
Sistema di gestione dipendenti basato su Spring Boot 3.x e Java 21 che consente di creare, modificare e visualizzare record anagrafici dei dipendenti. Ogni dipendente è associato a un account con ruoli/permessi gestiti tramite JWT e Spring Security. Le password sono cifrate in database per garantire la massima sicurezza.
🇬🇧
Spring Boot 3.x & Java 21-based employee management system enabling creation, updating and viewing of personal data records for employees linked to user accounts with roles and permissions. Passwords are securely encrypted in the database via Spring Security and JWT.
| 🇮🇹 Italiano | 🇬🇧 English |
|---|---|
| ✅ CRUD completo per entità: dipendenti, ruoli e account | ✅ Full CRUD for entities: employees, roles, and accounts |
| 🔐 Gestione account, ruoli e permessi con Spring Security + JWT | 🔐 Account, role & permission management with Spring Security + JWT |
| 🗄️ Persistenza dati su MariaDB + JPA/Hibernate | 🗄️ Persistence using MariaDB + JPA/Hibernate |
| 📦 Struttura modulare con Maven | 📦 Modular Maven project structure |
| 💡 Integrazione di Lombok per ridurre il codice boilerplate | 💡 Lombok integration to cut boilerplate code |
| ⚙️ Configurazione automatica tramite wizard CLI | ⚙️ Automatic setup via CLI wizard |
| 🛠️ Generazione automatica di dati di test | 🛠️ Automatic generation of sample data |
| 🔄 Reset rapido del database | 🔄 Fast database reset |
| 📄 Documentazione API con Swagger/OpenAPI | 📄 API documentation via Swagger/OpenAPI |
- Framework Backend: Spring Boot 3.5 (Web, Security, Data JPA, Validation)
- Database: MariaDB 10.x (produzione) / H2 (sviluppo)
- ORM: Hibernate
- Utility: Lombok, JavaFX
- Gestione progetti: Maven
- Linguaggio: Java 21
- Java 21+
- Maven 3.6+
- MariaDB server in esecuzione (o H2 per sviluppo)
- (Facoltativo) Docker, se si preferisce eseguire MariaDB in contenitore
- Clona il repository
git clone https://github.com/ilmuratore/AziendaJava.git cd AziendaJava - Configura le proprietà Apri src/main/resources/application.properties e verifica i parametri di connessione a MariaDB: spring.datasource.url=jdbc:mariadb://localhost:3306/azienda_db spring.datasource.username=tuo_utente spring.datasource.password=tua_password spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.datasource.url=jdbc:h2:mem:azienda_db;DB_CLOSE_DELAY=-1 spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.hibernate.ddl-auto=create-drop
- Build e avvia l'applicazione mvn clean install mvn spring-boot:run mvn clean package java -jar target/azienda-app.jar
Avviare il jar con le seguenti opzioni (posiziona azienda-app.jar nella root del progetto o sostituisci con il percorso corretto):
- Avviare automaticamente il setup wizard java -jar azienda-app.jar
- Setup manuale java -jar azienda-app.jar --setup Permette di inserire manualmente i dati iniziali (es. tipologie di ruoli, utenti amministrativi, ecc.).
- Generare record di esempio java -jar azienda-app.jar --generate-data 50 Crea 50 dipendenti fittizi con ruoli e account, utili per testare l’interfaccia e le API.
- Reset del database java -jar azienda-app.jar --reset Elimina tutte le tabelle e ricrea lo schema da zero (utile per un nuovo ciclo di sviluppo o test).
- Mostrare aiuto / Help java -jar azienda-app.jar --help
📄 Documentazione API (Swagger UI) 📁 Roadmap versione 3.0 📦 Esempi Postman Collection (coming soon)
MIT License © 2025 Il Muratore (Simone Iengo)
Simone Iengo – Full Stack Developer, manutentore principale
