Skip to content

Releases: giuse27/MakerManager-Server

Prima versione stabile di MakerManager

Choose a tag to compare

@giuse27 giuse27 released this 19 Jul 14:42

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.0 del 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

Choose a tag to compare

@giuse27 giuse27 released this 08 Jul 15:57

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)
  • Aggiunti 6 nuovi Unit Test

Inventario e progetti modificabili

Choose a tag to compare

@giuse27 giuse27 released this 07 Jul 17:24

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)

Profilo utente, ruoli e permessi sugli endpoint

Choose a tag to compare

@giuse27 giuse27 released this 07 Jul 08:46

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

Choose a tag to compare

@giuse27 giuse27 released this 04 Jul 22:16

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