Releases: giuse27/MakerManager-Server
Release list
Prima versione stabile di MakerManager
v1.0.0
Descrizione della versione
La versione v1.0.0 è la prima versione stabile di MakerManager. Scaricando questa versione insieme alla corrispondente lato Client è possibile testare il software ed esplorare tutte le funzioni presenti e descritte nella documentazione.
Funzionalità lato server
- Piccoli adeguamenti per adattarlo alla versione
v1.0.0del Client. - Aggiornato il file di inzializzazione
- nuovi utenti
- nuovi progetti
- espansione del catalogo iniziale
- gestione degli inventari appropriata per i test
Progetti consigliati per l'utente
v0.6.0
Descrizione della versione
Warning
Questa versione NON è retro compatibile con la versione v0.0.0 del Client
La seguente versione è attualmente disponibile solo per essere testata tramite terminale o file di test http (vedi src/main/test/chiamate-endpoint).
La versione v0.6.0 aggiunge della logica di business all'interno di MakerManager. Con questa nuova versione gli utenti hanno la possibilità di cercare nuovi progetti da realizzare tramite i consigli del sistema. Il sistema confronta i possedimenti in inventario dell'utente con il contenuto della bom dei progetti e calcola un indice di fattibilità per ciascun progetto. Inoltre, i progetti che vengono consigliati non sono solo quelli realizzabili ma anche quelli per cui mancano solo elementi per la realizzazione (criterio attuato: numero di elementi distinti mancanti). Presenta inoltre una soglia configurabile sia da application.properties sia lato utente tramite parametro opzionale nell'endpoint.
Funzionalità lato server
- Logica di business per la raccomandazione di progetti all'utente sulla base delle risorse che ha in inventario.
- Nuovi endpoint
- Progetti
- Visualizza i progetti consigliati in base al proprio inventario (AUTENTICATO)
- Progetti
- Aggiunti 6 nuovi Unit Test
Inventario e progetti modificabili
v0.5.0
Descrizione della versione
Warning
Questa versione NON è retro compatibile con la versione v0.0.0 del Client
La seguente versione è attualmente disponibile solo per essere testata tramite terminale o file di test http (vedi src/main/test/chiamate-endpoint).
La versione v0.5.0 aggiunge due endpoint di tipo PATCH per aggiornare facilmente la quantità di un ArticoloInventario all'interno del proprio inventario oppure un elemento presente all'interno di una RigaBOM del proprio progetto.
Funzionalità lato server
- Aggiunti due nuovi endpoint di tipo PATCH
- Inventario
- Aggiorna la quantità di un articolo (PROPRIETARIO / ADMIN)
- Progetti
- Aggiorna la quantità di una riga della BOM (PROPRIETARIO / ADMIN)
- Inventario
Profilo utente, ruoli e permessi sugli endpoint
v0.4.0
Descrizione della versione
Warning
Questa versione NON è retro compatibile con la versione v0.0.0 del Client
La seguente versione è attualmente disponibile solo per essere testata tramite terminale o file di test http (vedi src/main/test/chiamate-endpoint).
La versione v0.4.0 racchiude al suo interno delle le versioni v0.1.0 (introduzione del profilo utente), v0.2.0 (sistema di registrazione e login), v0.3.0 (sistema multi ruolo con UTENTE e ADMIN) e infine la v0.4.0 (gestione dei permessi configurabili sugli endpoint). La scelta di pubblicare una sola versione dipende fortemente dal legame intrinseco dei precedenti quattro moduli, che rende complicato separe i moduli in moduli indipendenti pronti per la pubblicazione.
Funzionalità lato server
È stata introdotta la possibilità di registrarsi e fare login su MakerManager. L'account memorizza un nickname (unico), una mail (unica), e una password criptata. La sicurezza è gestita da JWT con token di autenticazione che hanno validità 24 ore a partire dal login o dalla registrazione. L'utente adesso può essere autore di uno o più progetti ed è associato come utente vero e proprio a uno o più inventari (prima nel caso dell'inventario esisteva solo un placeholder numerico). Il sistema supporta un meccanismo multi ruolo per gli utenti registrati (UTENTE / ADMIN) e consente sia la possibilità di impostare permessi globali sugli endpoint definendo chi può accedere (PUBBLICO, AUTENTICATO, ADMIN, UTENTE), sia la possibilità di avere permessi locali (es. solo un PROPRIETARIO o un ADMIN può visualizzare o avere accesso a un inventario).
Il json di inzializzazione è stato modificato sulla base delle nuove aggiunte. Adesso anche i progetti di /inizializza vengono associati agli utenti e vengono creati due utenti di test. In più un admin è garantito all'avvio del server e le sue credenziali sono modificabili in application.properties.
Questo è il nuovo elenco di endpoint con le aggiunte e le modifiche dei permessi (vedi in grassetto)
- Inizializzazione
- Inizializza il database (ADMIN)
- Autenticazione <---
- Registrazione (PUBBLICO) <---
- Login (PUBBLICO) <---
- Utenti <---
- Visualizza il proprio profilo (AUTENTICATO) <---
- Visualizza tutti gli utenti (ADMIN) <---
- Catalogo
- Visualizza elementi in catalogo (PUBBLICO)
- Aggiungi un elemento al catalogo (AUTENTICATO)
- Elimina un elemento dal catalogo a partire dal suo
id(ADMIN)
- Inventario
- Visualizza tutti gli inventari (ADMIN)
- Visualizza il contenuto di un inventario (PROPRIETARIO / ADMIN)
- Visualizza gli inventari di un utente (PROPRIETARIO / ADMIN)
- Crea un nuovo inventario (AUTENTICATO)
- Elimina un inventario a partire dal suo
id(PROPRIETARIO / ADMIN) - Aggiungi un articolo a un inventario (PROPRIETARIO / ADMIN)
- Elimina un articolo dall'inventario a partire dal suo
id(PROPRIETARIO / ADMIN)
- Progetti
- Visualizza tutti i progetti (PUBBLICO)
- Visualizza un progetto a partire dal suo
id(PUBBLICO) - Visualizza i progetti di una tipologia (PUBBLICO)
- Visualizza i progetti di un utente (PUBBLICO) <---
- Crea un nuovo progetto (AUTENTICATO)
- Elimina un progetto a partire dal suo
id(PROPRIETARIO / ADMIN) - Aggiungi una riga alla BOM di un progetto (PROPRIETARIO / ADMIN)
- Elimina una riga dalla BOM di un progetto a partire dal suo
id(PROPRIETARIO / ADMIN)
Architettura di base per il server di MakerManager
v0.0.0
Descrizione della versione
La versione v0.0.0 rappresenta l'architettura di base del server. Qui iniziano ad essere delineati i modelli associati alle entità memorizzate nel database, compaiono i dto di richiesta e risposta che il server scambia con il client. Sono presenti i metodi di base delle repository oltre che i controller per gli endpoint principali e i corrispondenti service. Questa versione pone le fondamenta per alcuni meccanismi che saranno raffinati nelle versioni successive ed è da intendersi solo come la struttura base per chi vuole replicare il progetto sviluppando per conto suo modelli e dto.
Funzionalità lato server
Sono di seguito descritte le funzioni principali accessibili tramite gli endpoint esposti dal Server:
- Inizializzazione
- Inizializza il database
- Catalogo
- Visualizza elementi in catalogo
- Aggiungi un elemento al catalogo
- Elimina un elemento dal catalogo a partire dal suo id
- Inventario
- Visualizza tutti gli inventari
- Visualizza il contenuto di un inventario
- Visualizza gli inventari di un utente
- Crea un nuovo inventario
- Elimina un inventario a partire dal suo id
- Aggiungi un articolo a un inventario
- Elimina un articolo dall'inventario a partire dal suo id
- Progetti
- Visualizza tutti i progetti
- Visualizza un progetto a partire dal suo id
- Visualizza i progetti di una tipologia
- Crea un nuovo progetto
- Elimina un progetto a partire dal suo id
- Aggiungi una riga alla BOM di un progetto
- Elimina una riga dalla BOM di un progetto a partire dal suo id