Skip to content

Alessandroang/deliveboo-back-office

 
 

Repository files navigation

Build Status Total Downloads Latest Stable Version License

Init project

  1. Installa le dipendenze di frontend
npm install
  1. Fai partire il compilatore per i file di frontend
npm run dev
  1. Installa le dipendenze di backend in un nuovo terminale
composer install
  1. Fai partire il server di sviluppo backend
php artisan serve
  1. Copia il file .env.example e chiamalo .env. Poi esegui il comando per generare la chiave
php artisan key:generate

Connessione al DB

  1. Avvio MAMP

  2. Apro PHPMyAdmin

  3. Creo un nuovo DB (es. 103_rent)

  4. nel file .env aggiungo i parametri di connessione presenti sulla pagina iniziale di MAMP

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=103_rent
DB_USERNAME=root
DB_PASSWORD=root

Creazione di una Migration

Per creare una tabella lanciare il comando

php artisan make:migration create_houses_table

Aggiungi poi tutte le colonne che rappresentano la tabella nella funzione up(). I tipi di dato disponibili sono qui

// create_houses_table

public function up()
  {
    Schema::create('houses', function (Blueprint $table) {
      $table->id();
      $table->tinyInteger('rooms')->unsigned();
      $table->tinyInteger('bathrooms')->unsigned();
      $table->smallInteger('square_meters')->unsigned();
      $table->enum('type', ['appartment', 'independent', 'villa']);
      $table->string('address', 100);
      $table->string('city', 50);
      $table->string('state', 50);
      $table->string('zipcode', 15);
      $table->text('description');
      $table->float('price', 5, 2);
      $table->timestamps();
    });
  }

Eseguo la migrazione appena creata con il comando

php artisan migrate

Aggiunta di dati

Aggiungo un paio di righe da PHPMyAdmin per visualizzare dati di esempio

Creazione di un Model

Creo un Model che rappresenti la tabella appena realizzata con il comando

php artisan make:model House

Creazione di un Controller per la risorsa

Creo un Controller per la risorsa House con il comando

php artisan make:controller HouseController

Importo il controller nel file routes/web.php per assegnargli delle rotte

// web.php

use App\Http\Controllers\HouseController;

// ...

// # Rotte risorsa house
Route::get('/house', [HouseController::class, 'index'])->name('house.index');

Realizzo una funzione contenente la logica del metodo legato in routes/web.php dentro il controller HouseController.php. Dovremo

  1. importare il modello House
  2. nel metodo index() recuperare tutte gli elementi della tabella e passarli ad una vista
// HouseController.php

use App\Models\House;

// ...

class HouseController extends Controller
{
  public function index()
  {
    $houses = House::all();
    return view('house.index', compact('houses'));
  }
}

Creazione di una vista per visualizzare i dati

creo un file resources\views\house\index.blade.php e estendo il layout app.blade.php. In un forelse stamperò tutti i dati ricevuti

@extends('layouts.app')

@section('main-content')
  <section class="container mt-5">

    @forelse($houses as $house)
      <p>
        <strong>Type</strong>: {{ $house->type }} <br>
        <strong>Rooms</strong>: {{ $house->rooms }} <br>
        <strong>Bathrooms</strong>: {{ $house->bathrooms }}
      </p>
      <hr>
    @empty
      <h2>Non ci sono risultati</h2>
    @endforelse
  </section>
@endsection

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 64.6%
  • Blade 33.2%
  • SCSS 1.9%
  • JavaScript 0.3%