[TODO: Replace with your Netflify status badge]
Mayme's Bakery is a family-owned business whose scrumptious baked goods have been enjoyed worldwide. 🌍 They'd love to see their baking history brought to life in an online interactive timeline. 📜
-
Fork this Repository 🍴: Start by making a copy of this repository in your own GitHub account using the "Fork" button at the top right of this page. Only one person per group needs to do this.
-
Add Your Teammates 👥: From your forked repository, add your fellow group members as contributors under the "Settings" tab. Just click on "Manage Access", "Invite a collaborator", and then enter their GitHub usernames.
-
Clone the Repository 💻: After you've set up the repository, you'll need to clone it to your local machine. You can do this by clicking the "Code" button and copying the URL. Then, open your terminal, navigate to where you want to keep the project and run
git clone <URL>
.
You and your study group will work as an agile team to create an animated, interactive timeline for Mayme's Bakery. The interactivity of the timeline should be agreed upon by all group members.
- As a user, I want to see the summary of each historical item in a summary card, so that I can see a brief introduction of each historical item.
- As a user, I want to see the summary cards in a timeline in date order, so that I can see a brief history (in date order) in one place.
- As a user, I want to see more details on a particular item in a modal so that I can see the full information (including an image).
- As a user, I want to dismiss the full details of a single historical item, so that I can return to the timeline.
- As a developer, I want to deploy the changes made to the timeline, so that the timeline can be viewed publicly.
We have provided two files to get you started:
index.html
js/data.js
The provided index.html
includes:
<script type="module" src="js/index.js"></script>
Having type="module"
means you can the ES6 feature modules
(refer to the slides for a reminder of what modules
are). src="js/index.js"
indicates your main javascript file must be named index.js
within the js
directory.
We have provided an array of objects with the data that should be displayed in your timeline. This data can be found in the js/data.js
file and must be imported into your js/index.js
so you can use it. If you choose, you can add more data to the file, but this is the minimum amount of data you must display in your timeline.
The only HTML you should add to the body
is in step 1. Everything else should be done in JavaScript.
- In your HTML file add a
<div>
with the class nametimeline
. - Loop over the provided array of objects to create to the summary card of each timeline item with:
- A
div
with the class nametimeline-item
. Thisdiv
is your container for your summary card and everything for the summary card must be inside of it. Inside thediv
should be:h2
with the class nametimeline-item-title
. The title of each timeline item needs to be herespan
with the class nametimeline-item-date
. This should have the date of each timeline item- The element that displays the summary text must have the class name
timeline-item-summary
- The element that opens the modal so that a visitor can see full information must have the class name
timeline-item-more-info
- A
- Inside the modal (where the full information should be displayed) you must include the following:
- The container
div
must have the idmodal-container
- The date must have the id
modal-date
- The title must have the id
modal-title
- The image must have the id
modal-image
- The full description must have the id
modal-full-description
- The element that closes the modal must have the id
modal-close-button
- The container
- Create an external stylesheet here
css/main.css
(see CSS for more info) - Deployed to Netlify and your site's status badge added to this file (
README.md
)
All styling (CSS) is completely up to you, but must be in a folder named css
with a primary stylesheet called main.css
.
You must push all the code to your group project repo.
Don't forget to ask for help if you need it, and have fun coding! 🥳
📚 If you encounter any problems or have any questions, don't hesitate to ask in our GitHub Discussions.