PRA1: Gestió de reserves [Programació Web Avançada]

evolució

PHP – JS – jQuery – MySQL – AJAX

L’objectiu de la Pràctica és desenvolupar una aplicació web on es podran registrar les reserves d’un restaurant. Amb aquesta aplicació es podran donar d’alta, de baixa i fer modificacions de les reserves. A més, els empleats del restaurant disposaran de pàgines per visualitzar les reserves i així planificar el menjador amb anterioritat.

L’aplicació desposa de quatre pagines:

  • Llistat de reserves: mostra totes les reserves registrades a la BD. L’actualització de la pàgina després de qualsevol eliminació de registre es farà amb AJAX i jQuery.
  • Formulari de reserva: estableix el formulari de càrrega de registre a la BD. Requereix validació de camps i gestió d’avisos mitjançant jQuery.
  • Formulari de modificació: mostra les dades d’un registre en un formulari de modificación. Requereix validació de camps i gestió d’avisos mitjançant jQuery.
  • Llistat de reserva 24 hores: mostra totes les reserves previstes per les properes 24 hores.

Data: any 2014 [1r semestre]

A tenir en compte: Per fer un bon plantejament de l’aplicació i uns correcta implementació serà intéressant tenir presents les següents consideracions:

  • domini dels diferents sistemes de selecció emprats per jQuery
  • coneixements de gestió de phpMyAdmin i de sintaxi MySQL
  • coneixements de PHP i dels mètodes relacionats amb l’establiments de cerques en BBDD.
  • coneixements de JavaScript per realitzar validacions des del costat del client.

Dificultat: alta

Durada: 10/12 hores aproximadament.

Valoració: A


PRÀCTICA2 [Disseny de BBDD]

evolució

L’objectiu d’aquesta activitat és posar en marxa un lloc web que permeti consultar la base de dades que heu dissenyat en l’apartat B de la primera activitat d’Avaluació Contínua (PAC1).

El lloc web a implementar constarà de quatre tasques:

  • index.php:
    la pàgina principal de l’aplicació.
  • info.html:
    una pàgina informativa amb la descripció del projecte.
  • globus informatiu:
    una pàgina amb un mapa que faci servir l’API de GoogleMaps i on es mostri part de la informació recuperada de la base de dades en un globus informatiu.
  • fitxa.php:
    una pàgina amb la fitxa descriptiva d’un element georeferenciat.

Data: curs 2013-2014 [1r semestre]

A tenir en compte:

    • En entrar a l’aplicació per primera vegada es mostrarà un mapa per defecte, amb una vista global (per exemple: ciutat, país, països, continent, etc.) sobre l’espai geogràfic georeferenciat a la base de dades.
    • El cercador es basarà en un formulari de cerca, amb un element de tipus “HTML input” d’inserció de text obligatori (un com a mínim), i altres del tipus llista, checkbox o radio button (optatius).
    • La cerca es basarà en dues o més columnes de dues o més taules: per exemple, es cercarà sobre els atributs ‘a’’ i ‘b’’ de les entitats A i B, o els atributs ‘a’’ i ‘d’’ de les entitats A i D del diagrama E-R de la base de dades de l’apartat B de la PAC1.
    • Les dades introduïdes al formulari de cerca han de ser validades del costat del servidor web amb PHP. En cas d’error en la validació es mostrarà una nota explicativa per a l’usuari. Opcionalment, es podrà afegir una validació del costat client mitjançant comprovacions JavaScript.
    • Després d’executar la cerca i tenir èxit, l’aplicació informarà en la columna lateral esquerra sobre el total de registres trobats. Si no hagués resultats, s’avisarà a l’usuari amb un missatge.
    • Després d’executar la cerca, si hi ha resultats, es mostrarà al mapa de Google les marques dels punts georeferenciats a la base de dades.
  • Totes les consultes s’han de poder geolocalitzar en l’aplicació web que es crea. Es facilita la llibreria de GoogleMaps per tal d’incorporar-la a l’script. Un cop fet això es podrà manipular l’API a partir dels mètodes propis.
  • La fitxa descriptiva requereix transformar la informació a PDF. Per tal de realitzar aquest procediment es facilita la llibreria TCPDF que, un cop importada a l’script corresponent, permet implementar els seus mètodes i propietats. Malgrat que és una llibreria força extesa cal ser curós amb el seu desenvolupament perquè és molt sensible a errades de codi.

Dificultat: alta

Durada: 10/15 hores aproximadament.

Valoració: A


DOCUMENTS ADJUNTS

PRÀCTICA1 [Disseny de BBDD]

evolució

L’objectiu d’aquesta Pràctica és, d’una banda, acabar d’afinar les habilitats en el disseny conceptual d’esquemes E-R i, d’altra banda, aprendre com crear bases de dades en un SGBD concret (MySQL), i com accedir a les seves dades ja sigui directament des de comandes SQL com des d’una aplicació web.

L’activitat es divideix en quatre parts:

  • BLOC 1:
    crear els models E-R per a la creació de les base de dades a partir d’un enunciat.
  • BLOC 2:
    treballar un diagrama E-R a partir d’un enunciat i una possible solució que conté errors en el disseny.
  • BLOC 3:
    practicar amb el llenguatge SQL i la base de dades adjunta a l’enunciat.
  • BLOC 4:
    repassar aspectes teòrics de la programació més bàsica de PHP

Data: curs 2013-2014 [1r semestre]

A tenir en compte:
Abans de començar s’aconsella treballar sobre els següents continguts:

  • fonaments de bases de dades
  • llenguatge SQL
  • motors d’emmagatzematge
  • llenguatge PHP
  • accés a MySQL amb PHP

Totes les consultes s’han de poder geolocalitzar en l’aplicació web que es crea. Es facilita la llibreria de GoogleMaps per tal d’incorporar-la a l’script. Un cop fet això es podrà manipular l’API a partir dels mètodes propis.

Dificultat: alta

Durada: 10/15 hores aproximadament.

Valoració: B (8’6)

OBSERVACIONS DEL CONSULTOR

Exercici A1:

  • s’haurien d’haver comentat les relacions.
  • falta l’entitat Instrument i la relació 1:N entre Concertista i Instrument.
  • a la relació N:N prefereixen entre usuari i Compositor.
  • falten les entitats Ciutat i pais i les relacions:
    • relació entre Auditori i Ciutat => Relació 1:N
    • relació entre Compositor i Ciutat ( neix ) => Relació 1:N
    • relació entre Compositor i Ciutat ( mor ) => Relació 1:N
    • relació entre Concertista i Ciutat ( neix ) => Relació 1:N
    • relació entre Ciutat i Pais => Relació 1:N

Exercici A2:

  • la Relació 1:1 si que es relació ( es representa igualment amb un atribut ). En comptes de director actual podria ser “dirigeix actualment” pero es correcte.
    Una Oficina es pot considerar com una sucursal bancària.No fa falta posar-la com un atribut multivalor, perquè amb la realció N:N entre Sucursal i Director ja estan representades ( i com tenim la data d’inici i data de fi, es pot accedir a l’històric sense haver de fer l’atribut extra.
  • la ternària no es relaciona amb la relació compra sino amb l’entitat usuari. Assumeixo que és un error al gràfic.

Exercici B:

  • tot OK.

Exercici C:

  • està molt bé, però no mostra la sucursal a l’atzar quan es carrega per primer cop la pàgina.


DOCUMENTS ADJUNTS

PAC2 [Disseny de BBDD]

evolució

Els objectius principals d’aquesta activitat són:

  • l’aplicació dels coneixements bàsics adquirits sobre normalització a un conjunt de taules que formen una base de dades, i
  • la creació d’una aplicació en PHP per a la consulta i modificació de la informació existent a una base de dades. Addicionalment, l’activitat reforçarà els coneixements en el disseny de bases de dades (model E-R).

L’activitat es divideix en tres parts:

  • BLOC 1:
    Normalització d’un conjunt de relacions aplicant les formes normals explicades en el manual de l’assignatura.
  • BLOC 2:
    Creació d’un model conceptual mitjançant el diagrama Entitat – Relació.
  • BLOC 3:
    Repàs d’aspectes teòrics de programació en PHP i MySQL: formularis per realitzar consultes a una base de dades.

Data: curs 2013-2014 [1r semestre]

A tenir en compte: es comença a treballar des del vessant de la programació, unint diferents lleguatges (HTML, PHP, SQL/MySQL i Javascript, si aquest és necessari). Serà convenient refrescar els conceptes adquirits a les assignatures de Programació i Programació Web.

Dificultat: mitjana/alta

Durada: 10/12 hores aproximadament.

Valoració: A

OBSERVACIONS DEL CONSULTOR

Exercici A:

  • està molt bé però caldria haver inclòs les taules de la primera forma normal.

Exercici B2:

  • ‘oficina’ seria millor representar-la com una relació N:N entre ’empresa’ i ‘edifici’ en comptes de com una entitat, perquè tal i com està possat una mateixa planta i porta no poden existir en dos edificis diferents.
  • ‘assessor’ no es relaciona només amb ‘treballador’, sinó que forma una ternària amb ‘treballador’ i ’empresa’.
  • a la relació “acredita” falta l’atribut centre.


DOCUMENTS ADJUNTS

PAC1 [DISSSENY DE BBDD]

evolució

L’objectiu d’aquesta activitat és aprendre a realitzar un disseny conceptual, relacional i físic d’una base de dades i reflexionar sobre els conceptes teòrics més importants relacionats amb aquests processos.

L’activitat es divideix en quatre parts:

  • BLOC 1:
    treballar un diagrama E-R que reculli els requeriments d’un enunciat concret.
  • BLOC 2:
    treballar un diagrama E-R a partir d’un enunciat i una possible solució que conté errors en el disseny.
  • BLOC 3:
    disseny d’un model E-R relacionat amb el model realitzat a l’apartat A.
  • BLOC 4:
    transformació d’un subconjunt del model E-R en model relacional.

Data: curs 2013-2014 [1r semestre]

A tenir en compte
Cal treballar sobre els següents continguts:

  • fonaments de bases de dades
  • llenguatge SQL
  • ampliació de SQL

Dificultat: mitjana/alta

Durada: 7/8 hores aproximadament.

Valoració: A


DOCUMENTS ADJUNTS