Sprint Challenge: User Interface and Git - Multi-Page Website
This challenge allows you to practice the concepts and techniques learned over the past week and apply them in a concrete project. This Sprint explored User Interface and Git. During this Sprint, you studied Semantic HTML, CSS Fundamentals, CSS Flexbox Module, and Git. In your challenge this week, you will demonstrate proficiency by creating a multi page website that has some missing HTML elements as well as CSS specificity problems that need to be solved. You will also create an additional web page that will be linked to from a navigation you will build.
Read these instructions carefully. Understand exactly what is expected before starting this Sprint Challenge.
This is an individual assessment. All work must be your own. Your challenge score is a measure of your ability to work independently using the material covered through this sprint. You need to demonstrate proficiency in the concepts and objectives introduced and practiced in preceding days.
You are not allowed to collaborate during the Sprint Challenge. However, you are encouraged to follow the twenty-minute rule and seek support from your PM and Instructor in your cohort help channel on Slack. Your work reflects your proficiency in user interface and your command of the concepts and techniques in semantic HTML, CSS fundamentals, CSS flexbox module, and git.
You have three hours to complete this challenge. Plan your time accordingly.
Commit your code regularly and meaningfully. This helps both you (in case you ever need to return to old code for any number of reasons and your project manager.
In this challenge, you build a missing header (navigation and image) on the home page, update some CSS styling on the home page, and create an additional page (About) which will link from the navigation you created.
In meeting the minimum viable product (MVP) specifications listed below, your web page should look like the solution screen shots of the home and about pages:
Demonstrate your understanding of this week's concepts by answering the following free-form questions.
Edit this document to include your answers after each question. Make sure to leave a blank line above and below your answer so it is clear and easy to read by your project manager
- If you were to describe semantic HTML to the next cohort of students, what would you say?
Semantic HTML gives meaning to the web page by clearly identifying the type of structure that various content is enclosed in. This is for more than just presentation: this makes screen readers able to identify different elements, which is useful for accessibility, and it is also important for Search Engine Optimization.
- Name two big differences between
The first difference: a block elememnt takes up the full width of a page whereas an inline element does not take up the full width of a page, only the space bounded by its opening and closing tag. The second difference: an inline element does not cause a line break/ start on a new line, whereas a block element has some whitespace above and below it and tolerates no HTML elements next to it.
- What are the 4 areas of the box model?
Content, Padding, Border, Margin
- While using flexbox, what axis does the following property work on:
- Explain why git is valuable to a team of developers.
Git allows developers to collaborate on projects simultaneously, regardless of location. This is valuable for many reasons: seamless iterations made by multiple users, integration of these iterations so that 1 project can handle many different versions without losing it's original form because Git also allows branching which provides an isolated environment for every change to your codebase.
You are expected to be able to answer all these questions. Your responses contribute to your Sprint Challenge grade. Skipping this section will prevent you from passing this challenge.
Project Set Up
- Create a forked copy of this project.
- Add your project manager as collaborator on Github.
- Clone your OWN version of the repository (Not Lambda's by mistake!).
- Create a new branch: git checkout -b
- Implement the project on your newly created
<firstName-lastName>branch, committing changes regularly.
- Push commits: git push origin
Follow these steps for completing your project.
- Submit a Pull-Request to merge Branch into master (student's Repo). Please don't merge your own pull request
- Add your project manager as a reviewer on the pull-request
- Your project manager will count the project as complete by merging the branch back into master.
Minimum Viable Product
Your finished project must include all of the following requirements:
Review the provided design file for the home page. Notice the navigation and header images are missing.
- Build the HTML and CSS to create the missing navigation and header.
- Link the
Aboutnavigation item to the about.html page
You will also notice there are 10 boxes on the home page that need background colors. Use this list below to correctly style each box:
Review the provided design file for the about page. You have been provided the HTML wrapper, footer, and page content for the about page. Create the rest of the missing HTML and CSS to match the design file.
- Copy and paste your home page navigation and header into the about page
- Update the header image with the about page image
- Link the
Homenavigation item back to the
- Build the rest of the about page layout to match the design
In your solution, it is essential that you follow best practices and produce clean and professional results. Schedule time to review, refine, and assess your work and perform basic professional polishing including spell-checking and grammar-checking on your work. It is better to submit a challenge that meets MVP than one that attempts too much and does not.
After finishing your required elements, you can push your work further. These goals may or may not be things you have learned in this module but they build on the material you just studied. Time allowing, stretch your limits and see if you can deliver on the following optional goals:
- Build a page of your choosing from the navigation items. Come up with content and images that fit the theme.
- Introduce CSS animations to your site.
- Build a contact page and create a form with several inputs of your choosing
- Add responsive breakpoints to your code by using media queries