Read these instructions carefully. Understand exactly what is expected before starting this Sprint Challenge.
This challenge allows you to practice the concepts and techniques learned over the past sprint and apply them in a concrete project. This sprint explored Applied JavaScript. During this sprint, you studied DOM and components. In this challenge you will demonstrate your mastery of these skills by creating an online Bloomtech newspaper.
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 sprint.
You are not allowed to collaborate during the sprint challenge.
- Create a forked copy of this project
- Clone your OWN version of the repository (Not BloomTech's by mistake!)
- Implement the project on the main branch, committing changes regularly
- Push commits:
git push origin main
You are going to create a Bloomtech Newspaper. Your job is going to be to create the components that make up the newspaper's home page.
In meeting the minimum viable product (MVP) specifications listed below, your project should look similar to the image linked below:
- Navigate to the root of the project with your command line.
- Run
npm install
to download the dependencies listed in thepackage.json
file. - Run
npm start
to compile the project and serve it. - Navigate Chrome to
http://localhost:3000
- In a separate terminal, run
npm test
to run tests.
Steps Required for MVP:
- Steps 1 and 2 are explained inside the
src/components/header.js
file. - Steps 3 and 4 are explained inside the
src/components/tabs.js
file. - Steps 5 and 6 are explained inside the
src/components/card.js
file.
Important Notes:
- Please do not move or rename existing files or folders.
- If your development server stops "auto reloading", manually kill it with
CTRL+C
and restart it. - Do not change the
package.json
file except to install libraries with NPM (Axios is already in thepackage.json
). - In your solution, it is essential that you follow best practices and produce clean and professional results.
- Schedule time to review, refine, and polish your work, including spell-checking and grammar-checking.
- It is better to submit a challenge that meets MVP than one that attempts too much and does not.
- Submit via Codegrade by committing and pushing any new changes to the main branch.
- Check Codegrade for automated feedback.
Demonstrate your understanding of this sprint's concepts by answering the following free-form questions. Edit this document to include your answers after each question.
- What is the DOM? DOM stands for Document Object Model. It is the programming interface for web documents. Manipulating the DOM allows you to change the structure, style, and content within a webpage.
- What is an event? An event is any action that happens when you are on a webpage. This can include simply loading the page or certain actions that a user conducts on a page (mouseclicks, keystrokes, scrolling, etc.)
- What is an event listener? An event listener is a essentially a peice of code that listens for an event to occur. For example, when a user clicks on a button, an event listener can log that a mouseclick happened and then you can make something happen based on that event occurring.
- Why would we convert a NodeList into an Array? We would convert a NodeList into an Array so we can better manipulate and access the data contained within the NodeList
- What is a component? A component is a part or element of the larger whole. For example, a button on a webpage would be considered a component.