Scrum 2 - Styles and Multimedia
Índice
1 Introduction
We are going to create the visual design for a website. We will use CSS3 to create the layout and visual appearance. We will use Media Queries to make the site responsive for tablets and mobile devices. We will use CSS3 to design form layouts. And finally, we will prepare multimedia content (images, audio and video) and add it to the website.
We will use Jekyll, a static CMS that will allow us to work with template layouts and includes.
Each team will have a GIT repository for working and deploying their sites. The main branch of the repository will be gh-pages
so that the site can be available at github.io
.
2 Learning goals
- Create, test and validate cascade style sheets.
- Create responsive web pages.
- Learn some basic static CMS (Jekyll) features.
- Design web interfaces that follow the Mobile First approach.
- Know the different licenses available for multimedia content.
- Prepare multimedia content (image, audio and video) for its use in web pages.
- Include multimedia content in web pages.
- Use control version software to work in teams.
3 Agenda
- Thursday 11/08/2018 to Friday 11/09/2018
- Planning meeting (2 days / 2 hours).
- Monday 11/12/2018 to Tuesday 11/27/2018
- Sprint (12 days / 20 hours).
- Wednesday 11/28/2018
- Demo (1 day / 2 hours).
- Thursday 11/29/2018
- Retrospective (1 day / 1 hour).
4 Product Backlog
Teams will have to design a web site for a restaurant. Each site will have the following pages:
- Home page
- Menu page
- Reservation form page
- Location & contact information page
- Image gallery page
- About us page
4.1 Reading: GIT workflow for teams
Every member of the team must read the documentation about GIT available here.
- Definition of Done
- You have understood how to use the proposed GIT workflow.
4.2 Reading: Jekyll fundamentals
Every member of the team must read the documentation about Jekyll available here.
- Definition of Done
- You have read and understood the documentation.
4.3 CSS Layout
Teams will design a layout for the site. We will use Jekyll, a static Content Management System, that will allow us to split the layout files among various HTML files. This feature will allow team members to work in individual layout components (header, footer, nav, content) without having to work in the same files at the same time. In addition to this, team members will not have to copy the same HTML in all the site pages.
4.3.1 Layout components
All pages will have the following components:
- Header.
- Footer.
- Navigation.
- Aside (deals, advertisements,…).
- Main Content.
4.3.2 Layout features
- Teams will design a layout for the website. Common layers (header, navigation, footer) must appear in the same place in all pages.
- The layout must follow the Mobile First paradigm.
- You must use external style sheets.
- You must use one of the layout techniques explained in the documentation (floats, flexbox, etc.).
- Navigation must be consistent and it must show where the user is in any level of the hierarchy. You can use whatever technique you want: menus, breadcrumbs,…
- You must use relative units for the layout.
- All pages must be responsive. You can use media queries for that. Pages must be displayed differently for three kinds of devices:
- Mobile devices
- Tablets
- Rest of screens (monitors)
- Definition of Done
- The layout meets the requirements. It is designed following a Mobile First approach. It has been tested for the three kinds of devices. The layout is available in GitHub Pages.
4.4 CSS styling
- Teams will design the visual appearance of the website using CSS3.
- Visual design must be homogeneous (all the pages in the website must have the same "look and feel") and personalized. Teams are encouraged to design their own logos and choose colors, font faces and icons.
- You must use external style sheets.
- Use of CSS classes is encouraged.
- In order to avoid conflicts, each team member should work in a different CSS file.
- You can follow some CSS naming conventions to minimize conflicts: i.e., BEM.
- Definition of Done
- The website uses CSS classes for its visual design. The website looks homogeneous and personalized. The appearance looks professional. All CSS has been tested and validated. All team members are satisfied with the design of the website.
4.5 Home page
- It must show the name, logo and main info of the site.
- It must include three videos that will be displayed through HTML5.
- Chosen videos must be related to the website theme.
- You will have to check the compatible formats supported for all browsers. If you have to make conversions, you can use:
- Teams will have to look for videos with the appropriate license in order to use them.
- Teams are free to choose the place to show the videos.
- Definition of Done
- The page is deployed in GitHub pages. The page meets the proposed requirements. All members are satisfied with the result. The page is displayed correctly on the three kinds of devices. You can play the videos in all the available browsers (Internet Explorer, Firefox, Chrome, Safari, Opera).
4.6 Menu page
- It must show info related with the menus that are served in the restaurant.
- Teams can choose among menus, food, dishes, specials,…
- Definition of Done
- The page is deployed in GitHub pages. The page meets the proposed requirements. All members are satisfied with the result. The page is displayed correctly on the three kinds of devices.
4.7 Reservation form page
- You must use different types of fields (the more, the better):
select
,radio
,checkbox
,textarea
,… - Additionally, you can use HTML5 input fields:
date
,email
,number
,… - Form fields must be aligned.
- You must use:
label
tagsfieldset
tagsplaceholder
attribute
- You can use whatever technique you want (
display: table
,float
,flexbox
,…) to align forms and labels, although it is recommended the use ofdisplay: inline-block
. You cannot use HTML tables. - You should honor the semantic structure of HTML: e.g., you must not put
labels
andinputs
in different layers. - The form must be responsive:
- Mobile devices
- All
labels
must NOT be shown. Exception:radio
andcheckbox
labels must be visible. - Input fields must occupy the entire screen width.
- Forms must be centered.
- All
- Tablets
labels
must be shown above fields.select
,text
andtextarea
labels must be visible.radio
andcheckbox
labels must be visible.- Input fields must occupy 70% of the screen width.
- Forms must be centered.
- Rest of screens
labels
must be shown left side of the fields.- All
labels
must be visible.
- Mobile devices
- Definition of Done
- The page is deployed in GitHub pages. The reservation form meets the design requirements. Labels and controls are aligned. All team members are satisfied with the design. The design looks professional.
4.8 Location & contact information page
- This page must show information about the restaurant location and contact information (address, telephone number,…).
- It should provide a map.
- Definition of Done
- The page is deployed in GitHub pages. The page meets the proposed requirements. All members are satisfied with the result. The page is displayed correctly on the three kinds of devices.
4.9 Image gallery page
- It will have a grid of thumbnails. When an image is clicked, it will be shown in full resolution.
- Optional: show the image in a pop-up layer (such as lightbox; it requires JavaScript).
- Chosen images must be related to the website theme.
- You will have to check the compatible formats supported for all browsers.
- Teams will have to look for images with the appropriate license in order to use them.
- Teams are free to choose the place to show the photo gallery.
- Definition of Done
- The page is deployed in GitHub pages. You can display the photos in all the available browsers (Internet Explorer, Firefox, Chrome, Safari, Opera). The images meet the license requirements.
4.10 About us page
- This page must show information about the team members (the restaurant managers).
- Every team member must appear with his/her name, photo and text description.
- Definition of Done
- The page is deployed in GitHub pages. The page meets the proposed requirements. All members are satisfied with the result. The page is displayed correctly on the three kinds of devices.
5 Guidelines
- Ideas:
- Teams must create tasks that generate valid product updates (e.g., a task should generate a complete web page available in the web server).
- It is advisable not to work more than one person in the same file to minimize conflicts. Tasks should affect different files.
- You should do one
commit
and onepush
at least once in every class.
6 Grading criteria
- Scrum board (Flip) (20%)
- Daily update, tasks estimation updates, Burn Down chart, daily scrums.
- Percentage of completed Product Backlog (20%)
- Completed tasks.
- Quality (20%)
- Originality, design, validation tests, correct visualization in different browsers and devices, design consistency, usability and accessibility features.
- Retrospective (20%)
- Correct revision of processes, identification of strengths and weaknesses, team analysis, individual analysis.
- Demo session (20%)
- Participation of all team members, oral presentation, materials used in the presentation, adaptation to available time.