Page 4 of 5

Re: Check in Stadium (CinS)

Posted: Mon Oct 17, 2016 7:27 pm
by tomcc
Sprint Review Octubre 18

¿Qué hemos hecho?
1. Se corrigió y agregaron laves foráneas al código sql para la base de datos.

Code: Select all

ALTER TABLE `localidad`
  ADD CONSTRAINT `fk_Estadio` FOREIGN KEY (`eid`) REFERENCES `estadio` (`eid`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `silleteria`
--
ALTER TABLE `silleteria`
  ADD CONSTRAINT `fk_Localidad` FOREIGN KEY (`lid`) REFERENCES `localidad` (`lid`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `admin`
--
ALTER TABLE `admin`
  ADD CONSTRAINT `fk_Estadio_Admin` FOREIGN KEY (`eid`) REFERENCES `estadio` (`eid`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `reserva`
--
ALTER TABLE `reserva`
  ADD CONSTRAINT `fk_Abonado` FOREIGN KEY (`abonado_id`) REFERENCES `abonado` (`abonado_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_Ticket` FOREIGN KEY (`ticket_num`) REFERENCES `ticket` (`ticket_num`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Constraints for table `ticket`
--
ALTER TABLE `ticket`
  ADD CONSTRAINT `fk_Admin_Ticket` FOREIGN KEY (`admin_id`) REFERENCES `admin` (`admin_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_Estadio_Ticket` FOREIGN KEY (`eid`) REFERENCES `estadio` (`eid`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_Partido_Ticket` FOREIGN KEY (`pid`) REFERENCES `partido` (`pid`) ON DELETE CASCADE ON UPDATE CASCADE;

2. Se completaron todas las vistas y sus controladores en php.
Se uso el comando:

Code: Select all

php artisan make:controller PhotoController --resource
Image

3.Leer sobre insertar y consultar datos por medio de php usando laravel.

¿Qué vamos hacer?
1. Crear la esquema de la base de datos con el codigo sql que tenemos.

¿Qué dificultad hemos tenido?

Re: Check in Stadium (CinS)

Posted: Tue Oct 18, 2016 7:28 am
by xacarana
Bien el seguimiento,

¿Donde esta la información de la velocidad y la gráfica de burndown?

Image

Re: Check in Stadium (CinS)

Posted: Tue Oct 18, 2016 8:38 am
by tomcc
Velocidades Sprint 4. 04 Septiembre - 26 Septiembre

- Actualización laravel en servidor: 2
- Creación esquema base de datos sql: 6
- Creación vistas y controladores laravel: 3
- Autenticación laravel: 1
- Navegación barra de menú app: 3

Velocidad 15.

Burndown Chart Sprint 4
Image

Sprint 5.17 Septiembre - 24 Septiembre

Laravel
- Creación migraciones apartir del esquema de sql. 3
- Creación de seeding apartir del esquema de sql. 3
- Creación BD en MySQL 2

Desarrollo App
- Pulir las vistas y el código html. 1

Velocidad: 9

Re: Check in Stadium (CinS)

Posted: Wed Oct 19, 2016 9:50 pm
by tomcc
Sprint Review Octubre 20

¿Qué hemos hecho?
1. Trabajar en el sprint 5.
2. Definir de las opciones gráficas que teníamos cuál iba a ser la reserva de sillas definitiva y organizarla.
Image
¿Qué vamos hacer?
1. Montar la base de datos a MySQL.
  • Tenemos dos opciones:
    Con el script de sql ya podemos montar la base datos.
    Crear las migraciones y seeding del script de sql y ejecutar el comando de laravel
2. Seguir trabajando en la parte visual de la aplicación
3. Vincular la base de datos con la reserva de sillas.

¿Qué dificultad hemos tenido?
1. Entender migrations y seeding laravel.

Sprint 5. Burndown Chart
Image

PD. En los commits se pueden ver tanto el código para las migraciones y para los seed. :geek:

Re: Check in Stadium (CinS)

Posted: Thu Oct 20, 2016 8:14 pm
by mariaadelayda
Complemento Sprint Review Octubre 20 (el avance de la reserva de silla quedó incompleto en el anterior post)

Avance reserva de silla:

https://trello.com/c/lSDGTMG1

Re: Check in Stadium (CinS)

Posted: Sun Oct 23, 2016 6:52 pm
by tomcc
Sprint Review Octubre 25

¿Qué hemos hecho?
1. Creación de las migraciones a partir del esquema de sql

Code: Select all

php artisan make:migration create_users_table
2. Creación de los seeding a partir del esquema de sql.

Code: Select all

php artisan make:seeder UsersTableSeeder
Image

3. Creación BD en MySQ
Ejecutar Migraciones

Code: Select all

php artisan migrate
Ejecutar Seeding's

Code: Select all

php artisan db:seed
Image
EER
Image
¿Qué vamos hacer?
Sprint 6.

- Funcionalidad de la aplicación.
- Vista de la aplicación.
- Entorno del servidor para montar la app.

Velocidad: pendiente

¿Qué dificultad hemos tenido?
1. El entorno del servidor para poder usar laravel

Sprint 5. Burndown Chart
Image

Re: Check in Stadium (CinS)

Posted: Tue Oct 25, 2016 6:27 am
by xacarana
Muy bien este avance, así deben ser los que faltan

Image

Re: Check in Stadium (CinS)

Posted: Tue Oct 25, 2016 6:47 am
by tomcc
Código de migración
Migración de Ticket

Code: Select all

class CreateTicketTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('ticket', function (Blueprint $table) {
            $table->increments('tid');
            $table->integer('valor');
            $table->integer('eid')->unsigned();
            $table->integer('pid')->unsigned();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('ticket');
    }
}
Migración de las llaves foraneas

Code: Select all

class CreateForeignKeys extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
     public function up()
    {
        Schema::table('localidad', function($table) {
            $table->foreign('eid')->references('eid')->on('estadio');
        });

        Schema::table('silleteria', function($table) {
            $table->foreign('lid')->references('lid')->on('localidad');
        });

        Schema::table('reserva', function($table) {
            $table->foreign('abonado_id')->references('abonado_id')->on('users');
            $table->foreign('tid')->references('tid')->on('ticket');
        });

        Schema::table('ticket', function($table) {
            $table->foreign('eid')->references('eid')->on('estadio');
            $table->foreign('pid')->references('pid')->on('partido');
        });

        Schema::table('admin', function($table) {
            $table->foreign('eid')->references('eid')->on('estadio');
        });


    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        //
    }
}
Código de Seeding

Code: Select all

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        
        //nid
        DB::table('nacionalidad')->insert([

            'nacionalidad' => 'Colombia',

        ]);

        //gid
        DB::table('geografia')->insert([

            'nombre_pais' => 'Colombia',
            'nombre_ciudad' => 'Medellin',
            'direccion' => 'direccion',

        ]);

        //eid
        DB::table('estadio')->insert([

            'nombre_estadio' => 'Atanacio Girardot',
            'gid' => '1',

        ]);

        //lid
        DB::table('localidad')->insert([

            'nombre_localidad' => 'Oriental Alta',
            'num_sector' => 'OA10',
            'eid' => '1',

        ]);

        //id
        DB::table('users')->insert([
            'abonado_id' => '112837448',
            'name' => 'Edison',
            'apellido' => 'Salazar',
            'password' => bcrypt('12345'),
            'cc' => '112837448',
            'email' => 'edisonsm@gmail.com',
            'genero' => 'masculino',
            'nid' => '1',
            'lid' => '1',

        ]);

        //pid
        DB::table('partido')->insert([

            'equipo_local' => 'Atletico Nacional',
            'equipo_visitante' => 'River Plate',
            'fecha_partido' => '2016-10-12',
            'hora_ini' => '19:00:00',
            'hora_fin' => '21:00:00',

        ]);
              
        //sid
        DB::table('silleteria')->insert([

            'num_sillas' => '100',
            'lid' => '1',

        ]);

         //tid
        DB::table('ticket')->insert([

            'valor' => '32000',
            'eid' => '1',
            'pid' => '1',
        ]);

        DB::table('reserva')->insert([

            'fecha_reserva' => '2016-10-11',
            'abonado_id' => '112837448',
            'tid' => '1',

        ]);

    }

}
Pruebas de obtener datos de la BD

Code: Select all

public function index()
    {
        $partido = DB::table('partido')->get();
        return view('reserva', ['nombre' => $partido]);
    }

Re: Check in Stadium (CinS)

Posted: Wed Oct 26, 2016 10:33 am
by tomcc
Sprint Review Octubre 27

¿Qué hemos hecho?
1. Agregamos a la aplicación el código html de la reserva de sillas.

Pasamos de esto en html.

Code: Select all

<div class="stadium">
          <div class="txtselect">
            <h2>Por favor seleccione las sillas que desea reservar</h2>
          </div>
          <div class="exit exit--front">
          </div>
            <ol class="location">
              <li class="row row--1">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="1A" />
                    <label for="1A">1A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="1B" />
                    <label for="1B">1B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="1C" />
                    <label for="1C">1C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" disabled id="1D" />
                    <label for="1D">1B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="1E" />
                    <label for="1E">1E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="1F" />
                    <label for="1F">1F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--2">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="2A" disabled id="2A"/>
                    <label for="2A">2A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="2B" />
                    <label for="2B">2B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="2C" />
                    <label for="2C">2C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="2D" disabled id="2D" />
                    <label for="2D">2D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="2E" />
                    <label for="2E">2E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="2F" />
                    <label for="2F">2F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--3">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="3A" disabled id="3A"/>
                    <label for="3A">3A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="3B" />
                    <label for="3B">3B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="3C" />
                    <label for="3C">3C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="3D" />
                    <label for="3D">3D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="3E" />
                    <label for="3E">3E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="3F" />
                    <label for="3F">3F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--4">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="4A" />
                    <label for="4A">4A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="4B" />
                    <label for="4B">4B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="4C" />
                    <label for="4C">4C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="4D" />
                    <label for="4D">4D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="4E" />
                    <label for="4E">4E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="4F" />
                    <label for="4F">4F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--5">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="5A" />
                    <label for="5A">5A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="5B" />
                    <label for="5B">5B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="5C" />
                    <label for="5C">5C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="5D" />
                    <label for="5D">5D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="5E" />
                    <label for="5E">5E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="5F" />
                    <label for="5F">5F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--6">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="6A" />
                    <label for="6A">6A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="6B" />
                    <label for="6B">6B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="6C" />
                    <label for="6C">6C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="6D" />
                    <label for="6D">6D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="6E" />
                    <label for="6E">6E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="6F" />
                    <label for="6F">6F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--7">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="7A" />
                    <label for="7A">7A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="7B" />
                    <label for="7B">7B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="7C" />
                    <label for="7C">7C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="7D" />
                    <label for="7D">7D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="7E" />
                    <label for="7E">7E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="7F" />
                    <label for="7F">7F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--8">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="8A" disabled id="8A" />
                    <label for="8A">8A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="8B" />
                    <label for="8B">8B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="8C" />
                    <label for="8C">8C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="8D" />
                    <label for="8D">8D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="8E" />
                    <label for="8E">8E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="8F" />
                    <label for="8F">8F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--9">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="9A" disabled id="9A"/>
                    <label for="9A">9A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="9B" />
                    <label for="9B">9B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="9C" />
                    <label for="9C">9C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="9D" />
                    <label for="9D">9D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="9E" />
                    <label for="9E">9E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="9F" />
                    <label for="9F">9F</label>
                  </li>
                </ol>
              </li>
              <li class="row row--10">
                <ol class="seats" type="A">
                  <li class="seat">
                    <input type="checkbox" id="10A" />
                    <label for="10A">10A</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="10B" />
                    <label for="10B">10B</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="10C" />
                    <label for="10C">10C</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="10D" />
                    <label for="10D">10D</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="10E" />
                    <label for="10E">10E</label>
                  </li>
                  <li class="seat">
                    <input type="checkbox" id="10F" />
                    <label for="10F">10F</label>
                  </li>
                </ol>
              </li>
            </ol>
          <div class="exit exit--front">
          </div>
        </div>
A esto en js.

Code: Select all

function creacionSillas(){
    var letras_sillas = ["A","B","C","D","E","F","G"]
    var sillas="";
    var numero_asiento = 0;
    for (var i = 0; i <10; i++) {
        numero = i+1;
        sillas+='<li class="row row--'+numero+'">'
        sillas+='<ol class="seats" type="A">'
        numero_asiento = numero_asiento + 1;
        for (var j = 0; j < 6; j++) {
            sillas+='<li class="seat">'
            sillas+='<input type="checkbox" id="'+numero_asiento+letras_sillas[j]+'" />'
            /*Código de checkbox disable
            sillas+='<input type="checkbox" disabled id="'+numero_asiento+letras_sillas[j]+'">';
            */
            sillas+='<label for="'+numero_asiento+letras_sillas[j]+'">'+numero_asiento+letras_sillas[j]+'</label></li>'
        }
        sillas+='</ol></li>'
        

    }
    distribucion_sillas.innerHTML = sillas;
}
Image

2.Pasamos el html minuto a minuto.
Image

3. Consulta a la base de datos y mostrar los datos en vista por medio de blade.
Ejemplo con partido.

Code: Select all

$partido = DB::table('partido')->get();
$ans = [];
$ans = $partido{0};
return view('partidos',['partido' => $ans]);

Code: Select all

{{ $partido->equipo_local }} vs {{ $partido->equipo_visitante }}
¿Qué vamos hacer?
1. Seguimos pasando las vistas html que teniamos al proyecto de laravel.
2. Obtener los datos y guardar datos a la bd.
3. Checklist del nuevo js generado.

¿Qué dificultad hemos tenido?
1. Que laravel funcione en el servidor de amazon.
2. Configurar el apk.

Re: Check in Stadium (CinS)

Posted: Wed Oct 26, 2016 5:25 pm
by dsanta86
Buenas Tardes

Bueno como deben saber nos pusieron a revisarles, para ponerlos al día miramos muy rápido todo el código, tanto el de HTML como el de laravel, el de HTML (y sus respectivos js y css) están bastante bien, vemos que aun no han pasado todo a Laravel (ojo con el tiempo). Lastimosamente el php que manejamos no es el mismo que el de ustedes, por ende no nos dejo ejecutar laravel, entonces nos toco revisar la Interfaz Gráfica con el proyecto de HTML y solo a lo que podíamos acceder

Quiero comentarle algunos puntos que se cubren de manera global.
-Comentar para poder entender algunas funciones
-En el checklist de código pudieron poner mas puntos a revisar y entre ellos puntos sobre el HTML
-Las referencias a javascript ponerlas a lo ultimo por convención
-En algunos archivos js hay variables con nombre no nemotecnicos (main.js)

Siendo mas específicos en:
app.blade.php
-no mesclar etiquetas javascript con HTML
-hay una mejor forma para poner el csrfToken
-hay código comentado

minutoaminuto.blade.php
-hay código comentado

home.blade.php
-hay texto en ingles, manejar un solo idioma
-código CSS dentro del HTML

main.js de public laravel
-comentar las funciones

Desde nuestro punto de vista tratar de hacer commits mas seguido porque los commits (algunos) son con demasiado código
También no les comentamos en el repositorio porque estamos tratando de ponernos al día revisando todo, pero para la próxima revisión les comentaremos allí.

En el siguiente link podrán revisar los checklist que también dicen algunos comentarios
https://drive.google.com/open?id=0B2ypX ... lRWN0p3dFE