GrabA è una piattaforma web orientata alle aste online, simile a eBay, progettata per venditori e acquirenti.
-
Guest
Può navigare liberamente sulla piattaforma senza registrazione, con alcune limitazioni. Può utilizzare la barra di ricerca per trovare aste e visualizzarle, ma non può accedere ai servizi riservati agli utenti registrati.
-
Utente registrato
Per partecipare o creare aste, l’utente deve registrarsi e creare un profilo. In base al tipo (privato o negoziante), la registrazione richiede dati diversi. Dopo la registrazione, l’utente deve attivare la modalità acquirente o venditore per partecipare alle aste o crearne di nuove.
-
Acquirente
Dopo aver attivato la modalità acquirente dal proprio profilo, l’utente può partecipare alle aste. L’attivazione può richiedere informazioni aggiuntive, come indirizzo di spedizione e metodo di pagamento.
-
Venditore
Dopo aver attivato la modalità venditore, l’utente può creare e gestire aste. Anche in questo caso, l’attivazione potrebbe richiedere informazioni aggiuntive come l’indirizzo di spedizione.
Gli acquirenti possono aggiungere un’asta alla propria lista dei preferiti, visualizzabile nella pagina del profilo. Le aste preferite possono essere rimosse manualmente in qualsiasi momento.
-
Offerta (Bid)
L’acquirente può fare un’offerta su un’asta, sempre superiore all’offerta attuale o al prezzo minimo stabilito dal venditore. La pagina dell’asta mostra tutte le offerte e permette di inserirne di nuove.
-
Acquisto diretto (Buy Now)
Il venditore può opzionalmente impostare un prezzo massimo durante la creazione dell’asta. L’acquirente può acquistare subito l’oggetto chiudendo immediatamente l’asta. L’acquisto diretto è disponibile solo se non sono state fatte offerte.
Un acquirente può lasciare una recensione a un venditore solo se ha vinto un’asta di quel venditore. È consentita una sola recensione per asta vinta. La recensione può contenere testo e un voto da 1 a 5.
graba/
│
├─── apps/ # Applicazioni Django
├─── common/ # File statici condivisi
├─── config/ # Applicazione principale e impostazioni
│ ├─── settings/ # Settings Django e configurazioni esterne
│ └─── ...
├─── data/ # Database locali, file mock e immagini
├─── scripts/ # Comandi custom e script Django
└─── manage.pyPer una corretta installazione è necessario avere installati sul sistema:
- Python 3.11+
- Redis (per Celery e caching)
⚠️ Su Windows potrebbero essere necessari accorgimenti particolari per Redis o per il supporto di Pipenv. Si consiglia di usare WSL2 per un ambiente più simile a Linux.
Soddisfatte le dipendenze sarà possibile predisporre il servizio seguendo la procedura di setup.
-
Clona il repository:
git clone https://github.com/Tremors3/web-tech.git cd web-tech -
Crea e attiva un ambiente virtuale con Pipenv:
pip install --user pipenv # se non già installato pipenv shell pipenv install --dev -
Esegui le migrazioni e popola il database:
cd graba/ python manage.py migrate python manage.py runscript initdbinitdbinserisce dati di test utili per provare subito il progetto. -
Crea un superuser (opzionale):
python manage.py createsuperuser
-
Avvia Redis (se non già in esecuzione):
redis-server
-
Avvia Celery
celery -A config worker -B -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
-
Avvia il server di sviluppo Django:
python manage.py runserver
L’app sarà disponibile su http://127.0.0.1:8000/.