Skip to content

Filiera-IDs is a Spring Boot backend developed for a Computer Engineering university project. It digitizes local agricultural supply chains with a role-based marketplace and event management. The code demonstrates clean layered architecture and GoF Design Patterns (Builder, Observer) for robust entity construction and decoupled notifications.

License

Notifications You must be signed in to change notification settings

Capsoide/filiera-ids

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

143 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filiera Agricola Project

Piattaforma backend basata su Spring Boot per la gestione e valorizzazione della filiera agricola locale. Il sistema gestisce l'interazione tra produttori, trasformatori, distributori, acquirenti e animatori territoriali.

Descrizione del Progetto

L'applicazione permette la gestione di:

  • Catalogo Prodotti e Pacchetti: Caricamento, validazione e vendita di prodotti locali.
  • Eventi Territoriali: Creazione e gestione di eventi promozionali con sistema di prenotazione.
  • Workflow di Approvazione: Ruolo di Curatore per validare contenuti prima della pubblicazione.
  • Ordini e Carrello: Gestione completa del processo di acquisto.

Architettura e Design Pattern

Il progetto segue un'architettura a livelli (Controller, Service, Repository, Model). Sono stati implementati specifici Design Pattern per risolvere problematiche architetturali:

  • Builder Pattern (GoF): Utilizzato per la costruzione complessa e validata delle entità Evento, separando la logica di costruzione dalla rappresentazione dell'oggetto.
  • Observer Pattern (GoF): Implementato per il sistema di notifiche social. Il CuratoreService (Subject) notifica il SocialService (Observer) quando un contenuto viene approvato, disaccoppiando la logica di business da quella di notifica.

Requisiti di Sistema

  • Java 17 o superiore
  • Maven 3.6+
  • Database H2 (In-memory, default) o MySQL

Installazione e Avvio

  1. Clonare il repository:

    git clone https://github.com/Capsoide/filiera-ids.git
    cd filiera-ids
  2. Compilare il progetto:

    mvn clean install
  3. Avviare l'applicazione:

    mvn spring-boot:run

L'applicazione sarà disponibile all'indirizzo: http://localhost:8080

API Endpoints Principali

L'interazione avviene tramite API REST. Di seguito alcuni degli endpoint principali:

  • Eventi: POST /api/eventi (Creazione evento - Richiede ruolo Animatore)
  • Prodotti: GET /api/prodotti/catalogo (Visualizzazione catalogo)
  • Curatore: POST /api/curatore/approva/{id} (Approvazione contenuti)
  • Ordini: POST /api/ordini (Checkout carrello)

Testing

Per testare le funzionalità è possibile utilizzare Postman. Assicurarsi di includere l'header di autenticazione (Basic Auth) per gli endpoint protetti.

About

Filiera-IDs is a Spring Boot backend developed for a Computer Engineering university project. It digitizes local agricultural supply chains with a role-based marketplace and event management. The code demonstrates clean layered architecture and GoF Design Patterns (Builder, Observer) for robust entity construction and decoupled notifications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages