You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+35-34Lines changed: 35 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -494,21 +494,7 @@ L’applicazione e i database posso essere eseguiti anche su Minikube, l’ambie
494
494
495
495
## 📦 Versione SQLite per Replit
496
496
Sviluppato un adapter specifico per usare sqlite per tutte le basi dati necessarie al corretto funzionamento del servizio, studiato per funzionare anche nel cloud Replit.
497
-
- Utilizzado SQLite come unico database per tutte le funzionalità (annotazioni, utenti, storico) non ha nessuna dipendenza da servizi esterni: è possibile eseguire tutto in locale, ideale per prove locali o test. Previsto un profilo Spring Boot specifico `sqlite`. I comandi per eseguire il microservizio in locale con questo profilo sono:
- E' stato creato un docker-compose specifico, così da gestire il volume dei dati con docker. Script di avvio e arresto già pronti per esecuzione locale: per eseguire tutto in locale eseguire lo script:
506
-
```
507
-
cd script/sqlite-locale/
508
-
./start-all.sh
509
-
```
510
-
- L'applicazione web sarà disponibile su [http://localhost:8082](http://localhost:8082)
511
-
- Interfaccia di gestione SQLite su [http://localhost:8084](http://localhost:8084). All'inizio il database è vuoto quindi non c'è memmeno un utente, si può inserire da interfaccia web oppure chiamare l'API:
497
+
- La versione che usa SqLite ha una classe che crea tre utenti di prova partendo dai dati dell'application YAML, è presente proprietà per disattivare questa funzionalità. Il componente è stato creato per velocizzare gli sviluppi e i test, questo componente va rimosso in un sistema di produzione. In alternatica è sempre possibile creare gli utenti con le API:
512
498
```
513
499
curl -X POST http://localhost:8082/api/auth/register \
514
500
-H "Content-Type: application/json" \
@@ -521,9 +507,24 @@ Sviluppato un adapter specifico per usare sqlite per tutte le basi dati necessar
521
507
-H "Content-Type: application/json" \
522
508
-d '{
523
509
"username": "admin",
524
-
"password": "password123"
510
+
"password": "xxxxxxxxxxxxxxxxxxx"
525
511
}'
526
512
```
513
+
- Utilizzado SQLite come unico database per tutte le funzionalità (annotazioni, utenti, storico) non ha nessuna dipendenza da servizi esterni: è possibile eseguire tutto in locale, ideale per prove locali o test. Previsto un profilo Spring Boot specifico `sqlite`. I comandi per eseguire il microservizio in locale con questo profilo sono:
- E' stato creato un docker-compose specifico, così da gestire il volume dei dati con docker. Script di avvio e arresto già pronti per esecuzione locale: per eseguire tutto in locale eseguire lo script:
522
+
```
523
+
cd script/sqlite-locale/
524
+
./start-all.sh
525
+
```
526
+
- L'applicazione web sarà disponibile su [http://localhost:8082](http://localhost:8082)
527
+
- Interfaccia di gestione SQLite su [http://localhost:8084](http://localhost:8084)
527
528
- Fermare l'esecuzione
528
529
```
529
530
cd script/replit-locale
@@ -539,7 +540,7 @@ Sviluppato un adapter specifico per usare sqlite per tutte le basi dati necessar
539
540
```
540
541
https://xxx-xxx-xxx.worf.replit.dev
541
542
```
542
-
- Utilizzando postman/curl è possibile creare un utente con cui collegarsi, per esempio:
543
+
- Se la creazione degli utenti è disabilitata, è possibile creare un utente di prova con postaman/curl, per esempio:
543
544
```
544
545
curl -X POST https://xxx-xxx-xxx.worf.replit.dev/api/auth/register \
545
546
-H "Content-Type: application/json" \
@@ -759,6 +760,7 @@ Questa modalità consente di eseguire l'intero stack annotazioni su AWS ECS con
759
760
- ✅ 📦 Creazione adapter con implementazione con SQLite come unica base dati
760
761
- ✅ ☁️ Sviluppo script per esecuzione profilo sqlite in sistema Replit
761
762
- ✅ ⚙️ Sviluppo script per esecuzione profilo sqlite in sistema AWS-EC2 con Docker senza RDS e Dynamo
763
+
- ✅ 🧿 Script per creazione di tre profili in ogni ambiente per adapter sqlite
762
764
- ✅ 🤖 Gestione dell'applicazione in *gestione annotazioni* e test applicazione web di esempio
763
765
- ✅ 🛠️ Test applicazione web di esempio anche su AWS
764
766
- ✅ 🔧 Modifica nome adapter "app" e "port" in "application" e "core"
@@ -768,19 +770,13 @@ Questa modalità consente di eseguire l'intero stack annotazioni su AWS ECS con
768
770
- ✅ 🧮 Nuova tabella StoricoStati, sviluppo service e port per la gestione dello storico
769
771
- ✅ 🕸️ Modifica service per cambio stato che modifica il metadata e non il valore più la tabella storico
770
772
- ✅ 🧩 Service per modificar lo stato con salvataggio nella tabella StoricoStati
771
-
- 🚧 🧿 Script per creazione di tre profili in ogni ambiente
772
773
- ✅ 🧑🔬 Inserimento di una nuova annotazione in stato INSERITA
773
-
- 🚧 🛰️ Gestione delle annotazioni quando son in CONFERMATA
774
-
- 🚧 🛡️ Gestione delle annotazioni in stato RIFIUTATA o BANNATA
774
+
- ✅ 🛰️ Gestione dello stato DAINVIARE come ultimo stato possibile da API/Web.
775
775
- 🚧 🧱 Verifica che utenti non possano fare operazioni il cui ruolo non lo prevede
776
-
- 🚧 🧬 Gestione delle annotazioni instato PUBBLICATA
777
-
- 🚧 🧭 Quando una annotazione è in stato PUBBLICATA solo ADMIN può rimetterla in RIFIUTATA
778
-
- 🚧 🧑🤝🧑 Elenco task: utenti USER vedono le annotazioni RIFIUTATE con la possiblità di cambiarle in INSERITA
779
-
- 🚧 🗃️ Elenco task: utenti MODERATOR vedono le annotazioni INSERITA con la possibiltà di rifiutarle o confermarle
780
-
- 🚧 🏁 Elenco task: utenti ADMIN vedono le annotazioni CONFERMATA con la possiblità di pubblicarle
781
776
- ✅ 🐳 Build e deploy su DockerHub della versione *OnPrem*
782
777
- ✅ 🐳 configurazione di docker-compose con MongoDb e Postgresql
783
778
- ✅ ☸️ Esecuzione su Kubernetes/Minikube locale con yaml dedicati
779
+
- 🚧 🏁 Test finale di tutti i punti precedenti e rilascio della versione 1.0.0
784
780
- ✅ ☁️ Esecuzione con docker-compose della versione AWS su sistema locale con Mysql e DynamoDB
785
781
- ✅ 🐳 Deploy su AWS usando EC2 per eseguire il container docker, script scritto in AWS-CLI per il provisioning delle risorse necessarie (Aurora-RDS-Mysql e DynamoDB ) e la creazione della EC2 con lancio del docker con `user_data`
786
782
- ✅ 🐳 Deploy su AWS usando ECS, Fargate e repository ECR (senza DockerHub), script scritto in AWS-CLI per il provisioning delle risorse necessarie (Aurora-RDS-Mysql e DynamoDB ) e lancio del task su ECS. Non previsto sistema di scaling up e/o bilanciatore ALB.
@@ -790,18 +786,23 @@ Questa modalità consente di eseguire l'intero stack annotazioni su AWS ECS con
790
786
- ✅ 🔒 Autenticazione e autorizzazione (Spring Security) e token Jwt
791
787
- ✅ 👥 introduzione sistema di verifica degli utenti e validazione richieste con tabella utenti
792
788
- ✅ 📝 Gestione multiutente e modifica annotazioni con utente diverso dal creatore, test nell'applicazione web
793
-
- 🚧 🛠️ Valutazione di creazione `adapter-security` o posizionamento pacakge specifico attualmente nel port
789
+
- ✅ 🛡️ Centralità dei service JwtService e UserService nel core senza `adapter-security`
- 🚧 👥 Sostema di lock che impedisca che due utenti modifichino la stessa annotazione allo stesso momento
791
+
- 🚧 👥 Sistema di lock che impedisca che due utenti modifichino la stessa annotazione allo stesso momento
792
+
- 🚧 🧑🤝🧑 Gestione modifica annotazione con lock
796
793
- 🚧 ⚙️ Evoluzione adapter con integrazione con altri sistemi
797
-
- 🚧 🔄 Export/Import annotazioni (JSON, CSV): creazione `adapter-etl` per l'import e l'export di tutte le versione
798
-
- 🚧 📚 Export/Import annotazioni (Kafka): creazione service che permetta di inviare notifiche via coda (kafka o sqs)
799
-
- 🚧 🎯 Notifiche real-time (WebSocket): creazione `adapter-notifier` che permetta ad utenti di registrarsi su WebSocket e ricevere
800
-
- 🚧 ⚡ Redis Caching Layer: Cache multi-livello (L1: in-memory, L2: Redis) con invalidation strategies e cache warming
801
-
- 🚧 📊 Read Replicas: Separazione read/write con eventual consistency e load balancing intelligente
802
-
- 🚧 👥 Social Reminders: Notifiche quando qualcuno interagisce con annotazioni modificate
794
+
- 🚧 🧬 Gestione delle annotazioni in stato INVIATA
795
+
- 🚧 📚 Import/Export annotazioni: creazione service che permetta di ricevere notifiche via coda (kafka o sqs) con creazione `adapter-kafka` e che con frequenza invii delle annotazioni concluse con cambio di stato
796
+
- 🚧 🔄 Export annotazioni (JSON e/o CSV): creazione `adapter-xxx` per l'export di tutte le annotazioni con cambio di stato dopo averle esporatte
797
+
- 🚧 🎯 Notifiche real-time (WebSocket): creazione `adapter-notifier` che permetta ad utenti di registrarsi su WebSocket e ricevere notifiche su cambio stato delle proprie notifiche
798
+
- 🚧 👥 Social Reminders: Notifiche quando qualcuno interagisce con annotazioni modificate
799
+
- 🚧 🧭 Sistema che gestisce la scadenza di una annotazione con spring-batch che elabora tutte le annotazioni rifiutate o scadute, con nuovo stato scadute.
0 commit comments