Un sistema distribuito per la gestione di un sito di vendita di carte da gioco, progettato per offrire funzionalità di gestione annunci, pagamenti, recensioni e autenticazione utenti, utilizzando un'architettura a microservizi e Kafka per la comunicazione tra i servizi.
-
Gestione Annunci
Permette di aggiungere, cercare e rimuovere annunci di carte e inserzioni. -
Gestione Transazioni
Offre strumenti per la gestione dei pagamenti relativi alle inserzioni. -
Gestione Recensioni
Consente di creare, cercare e rimuovere recensioni delle transazioni. -
Autenticazione Utenti
Gestisce gli accessi e i ruoli (utente e admin).
- Docker e Docker Compose
- Kafka per la gestione della comunicazione tra i microservizi
- Ambiente operativo: Linux/MacOS/Windows con terminale abilitato
-
Scarica il progetto
Estrarre il contenuto della repository in una directory di lavoro. -
Avviare i microservizi
Aprire un terminale nella directoryDockered eseguire i comandi:docker compose build docker compose up -d
- Accesso e autenticazione
Collegarsi alla porta dedicata al servizio di autenticazione (specificata nel filedocker-compose.yml). Utilizzare uno degli account predefiniti o crearne uno nuovo.
| ID | Password |
|---|---|
| utente1@gmail.com | Test1234! |
| utente2@gmail.com | Test1234! |
| utente3@gmail.com | Test1234! |
| admin@gmail.com | Test1234! |
| Producer | Consumer |
|---|---|
| annunci | inserzioni, utenti |
| recensioni | utenti |
| pagamenti | annunci |
| transazioni | pagamenti |
| autenticazione | utenti |
- Aggiunta Carta (Admin)
- Ricerca di una carta tramite stringa
- Aggiunta Inserzione
- Rimozione Inserzione
- Ricerca Inserzione tramite:
- Carta
- Carta e rarità
- ID utente
- Aggiunta Rarità (Admin)
- Ricerca Rarità
- Aggiunta Pagamento
- Ricerca Pagamenti:
- Dell'utente loggato
- Di un utente specifico (Admin)
- Tramite metodo di pagamento (Admin)
- Tramite stato del pagamento (Admin)
- Aggiunta Recensione
- Rimozione Recensione (solo proprietario o Admin)
- Ricerca Recensioni:
- Prodotte da un acquirente
- Ricevute da un venditore
- Venditori con media voti superiore a una soglia
Gestisce l'accesso e il controllo degli utenti. È un servizio essenziale per il funzionamento degli altri microservizi.