DeliveBoo è una piattaforma di food delivery ispirata dalle piattaforme mderne più famose e celebri del Web, sviluppata con Vue 3, integrata con un backend Laravel 10 e MySQL. Permette ai ristoratori di registrare la propria attività e gestire il proprio menù, mentre i clienti possono ordinare i loro piatti preferiti.
Vai alla repository frontend DeliveBoo-FE.
- Laravel 10.x
- PHP 8.1+
- MySQL
- Vue.js 3
- Bootstrap 5
- Sass
- Braintree (per i pagamenti)
- FontAwesome
- Bootstrap Icons
- PHP >= 8.1
- Composer
- Node.js e npm
- MySQL
- Apache/Nginx
- Registrati su Braintree e crea un account di sviluppatore
- Recupera le keys fornite da Braintree e inserisci le nel file .env del backend ( BRAINTREE_MERCHANT_ID, BRAINTREE_PUBLIC_KEY, BRAINTREE_PRIVATE_KEY )
- Registrati su Mailtrap e crea un account per poter testare la ricezione delle email
- Clona il repository
git clone https://github.com/orazi-paolo/deliveboo-laravel10.git
- Installa le dipendenze del backend
composer install
- Installa le dipendenze del frontend
npm install
- Copia il file .env.example e rinominalo in .env
cp .env.example .env
-
Configura il file .env con le informazioni del tuo database
- Consigliamo l'utilizzo di MySQL 8.0+
-
Genera la chiave per l'app Laravel
php artisan key:generate
- Esegui le migrazioni per creare le tabelle del database
php artisan migrate
- Popola il database con i dati di fake
php artisan db:seed
- Crea il link simbolico per lo storage
php artisan storage:link
- Avvia il server Laravel
php artisan serve
- Avvia il server frontend
npm run dev
- Apri il browser e vai alla pagina http://localhost:8000
- Registrazione e autenticazione ristoratori
- Gestione del profilo ristorante
- CRUD completo per i piatti del menù
- Visualizzazione ordini e statistiche
- Dashboard personalizzata
- Ricerca ristoranti per tipologia
- Visualizzazione menù
- Carrello della spesa
- Checkout con pagamento online
- Conferma ordine via email
Il database include le seguenti tabelle principali:
- users (ristoratori)
- restaurants
- plates (piatti)
- orders
- tipologies (tipologie di cucina)
- order_plate (tabella pivot)
- restaurant_tipology (tabella pivot)
L'applicazione espone le seguenti API principali:
GET /api/restaurants
- Lista dei ristorantiGET /api/restaurants/filter
- Ricerca ristoranti per tipologiaGET /api/restaurants/{slug}
- Dettaglio ristoranteGET /api/tipologies
- Lista delle tipologie di cucinaGET /api/plates
- Lista dei piattiGET /api/plates/{slug}
- Dettaglio piattoPOST /api/checkout
- Creazione nuovo ordine
.
├── app
│ ├── Http
│ │ ├── Controllers
│ │ ├── Middleware
│ │ ├── Requests
│ │ └── ...
│ ├── Models
│ └── ...
├── public
│ ├── images
│ └── ...
├── resources
│ ├── js
│ ├── sass
│ └── views
│ ├── layouts
│ ├── admin
│ ├── auth
│ ├── emails
│ ├── partials
│ ├── home.blade.php
│ └── ...
├── routes
│ ├── api.php
│ └── web.php
├── ...
Contribuisci al progetto! Consulta la guida per i contributi per informazioni su come contribuire.
👨💻 @orazi-paolo 👩💻@natdm02 👨💻@orsoli 👨💻@JeromeMaligaya 👨💻@Marcap00
Questo progetto è rilasciato sotto la licenza MIT License.
Copyright © 2024 DeliveBoo.
Concessione gratuita per utilizzare, copiare, modificare, fondere, pubblicare, distribuire, sublicenziare e/o vendere copie del Software, e per permettere a chiunque altro a farlo, a condizione che il copyright originale e questa dichiarazione di licenza siano inclusi in tutte le copie o parti sostanziali del Software.
IL SOFTWARE È FORNITO "COSÌ COM'È", SENZA GARANZIA DI ALCUN TIPO, ESPRESSA O IMPLICITA, INCLUSE MA NON LIMITATE A GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE E NON INFRAZIONE. IN NESSUN CASO IL DETENTORE DEL COPYRIGHT O I CONCESSIONARI SONO RESPONSABILI PER QUALSIASI DANNO O PERDITA, SIA IN UN'AZIONE CONTRATTUALE, ILLECITA O ALTRIMENTI, DERIVANTE DA, O IN CONNESSIONE CON, L'UTILIZZO DEL SOFTWARE.