Giter Club home page Giter Club logo

enunciado-examen's Introduction

Examen Evaluación Extraordinaria

Día 15/06/2020 Tiempo: 3 horas

  • Nota: Cada pregunta se valorará como bien o como mal (valoraciones intermedias serán excepcionales).
  • Nota2: En cada pregunta se especifica si se valora en el examen de diseño o en el de desarrollo o en ambos.
  • Nota3: Para aprobar cada examen hay que obtener una puntuación mínima de 5 puntos en ese examen.
  • Nota4: Organice su tiempo. Si no consigue resolver un apartado pase al siguiente. El examen consta de apartados de diseño y de desarrollo que por lo general se pueden resolver por separado. Si un apartado depende de otro que no sabe resolver, siempre puede dar una solución que aunque no sea correcta, le permita seguir avanzando.
  • Nota5: Para que una solución sea correcta, no sólo hay que conseguir que haga lo que se pide, sino que además todo lo que funcionaba lo tiene que seguir haciendo.
  • Nota6: Lea completamente el examen antes de empezar y comience por lo que le parezca más fácil.

Pasos previos antes de empezar

  • Clone el repositorio del enunciado
git clone https://github.com/surtich/enunciado-examen.git
  • Vaya al directorio del proyecto
cd enunciado-examen
  • Configure su usuario de git:
git config user.name "Sustituya por su nombre y apellidos"
git config user.email "Sustituya por su correo electrónico"
  • Cree un branch con su nombre y apellidos separados con guiones (no incluya mayúsculas, acentos o caracteres no alfabéticos, excepción hecha de los guiones). Ejemplo:
    git checkout -b <fulanito-perez-gomez>
  • Compruebe que está en la rama correcta:
    git status
  • Suba la rama al repositorio remoto:
    git push origin <nombre-de-la-rama-dado-anteriormente>
  • Instale las dependencias y arranque la aplicación:
    yarn install
    yarn start

Navegue a http://localhost:3000

  • Dígale al profesor que ya ha terminado para que compruebe que todo es correcto.

EXAMEN

El único ejercicio consiste en diseñar una página que permita editar los datos de una habitación.

1.- Botón de edición

1.1.- (1 punto desarrollo) En la página de Admin, al pulsar sobre una habitación se mostrará un botón que permitirá editar la habitación.

1.2.- (2 puntos desarrollo) Al pulsar sobre otra habitación el botón de la anterior se ocultará y se mostrará el botón de edición de la pulsada.

1.3.- (2 puntos diseño) El botón se mostrará centrado con respecto a la imagen de la habitación y contendrá la imagen guardada en src/images/edit.png.

2.- Navegación

2.1.- (1 punto desarrollo) Al pulsar sobre editar en una habitación concreta se navegará a una nueva página que tendrá esta URL http://localhost:3000/rooms/id-habitacion-pulsada.

3.- Edición

3.1.- (1 punto desarrollo) Se cargarán los datos de la habitación pulsada.

3.2.- (5 puntos diseño) El estilo será similar al mostrado en rooms (http://localhost:3000/rooms/single-standard) pero con algunas diferencias:

  • El nombre de la habitación será una caja de texto editable
  • Details será un textarea.
  • Price será una caja numérica.
  • Size será una caja numérica.
  • Max capacity: será un desplegable entre varias opciones.
  • Pets allowed será un checkbox.
  • Breakfast será un checkbox.
  • Featured será un checkbox.
  • Los extras se mostrarán en una lista pero no serán editables.

Los componentes tendrán seleccionados los valores de la habitación en edición y estarán uniformemente distribuidos.

3.3.- (2 puntos desarrollo) Los cambios realizados en una habitación no se almacenarán directamente sino que, cuando haya un cambio, se mostrará un botón que permitirá guardar los cambios. Al aceptar los cambios, se usarán esos nuevos datos en el resto de la aplicación.

3.4.- (2 puntos desarrollo) Habrá un botón que permitirá cancelar los cambios. En ese caso se volverán a mostrar los valores anteriores.

3.5.- (1 punto desarrollo) Los botones aceptar y cancelar se mostrarán cuando haya cambios y se ocultarán cuando se pulse sobre uno de ellos.

3.6.- (3 puntos diseño) Los botones aceptar y cancelar estarán adecuadamente colocados y usarán las imágenes src/images/ok.png y src/images/ko.png.

Para entregar

  • Ejecute el siguiente comando para comprobar que está en la rama correcta y ver los ficheros que ha cambiado:
    git status
  • Prepare los cambios para que se añadan al repositorio local:
    git add .
    git commit -m "completed exam"
  • Compruebe que no tiene más cambios que incluir:
    git status
  • Dígale al profesor que va a entregar el examen.

  • Ejecute el siguiente comando:

    git push origin <nombre-de-la-rama>
  • Abandone el aula en silencio.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.