This repository contains the instructions, requirements, and starter code for Stage Two of the Snap Engineering Academy application process.
📝 Note:
If you have not used GitHub or programmed a website with JavaScript before, that's OK! Part of the challenge is figuring out things you're not familiar with.
- Show off your understanding of basic data structures: arrays and objects.
- Display a substantial amount of interesting data in a "catalog". You can look online for datasets or create your own.
Your data should be easy to find in your source code—either in variables at the top ofscripts.jsor imported from a file. - Include two or more features that operate on your data and modify how it's displayed. Examples:
- Filtering
- Searching
- Sorting
- Updating
- Adding/removing entries
Think about what users might want to do while using your site!
- Look polished ✨. Use HTML and CSS to make your data easy to read and visually appealing.
- Be built from this starter code—you can change anything you want, but build on top of it.
- Be an original project. Please do not submit something previously created for a class, internship, or client.
You are encouraged to use online resources, but make sure you understand every line of code in your project.
- Create a GitHub account if you haven't already.
- Click the green "Use as Template" button in the upper right corner, then choose "Create a new repository":
a. Choose yourself as the owner
b. Give your repository a name
c. Click "Create Repository" - Copy or download the files to your own computer.
- Open and edit the website using a text editor:
- Modify
index.html,style.css, andscripts.js. - To preview, open
index.htmlin a web browser (double-click it). - You should see something like this:
- Modify
- Publish your website to the internet!
We recommend using GitHub Pages. - Test the published version.
Make sure everything works properly before submitting. - Update your GitHub repository so it reflects the latest version of your project.
- Submit both:
- The URL to your published website
- The link to your GitHub repository
…via the Google Form linked in your email.
Yes! That's exactly what the starter code does too. You don't need to worry about preserving data after a page refresh.
Yes, absolutely! You should search for and use small chunks of code.
For example:
- ✅ Copying code to create a dropdown menu is fine.
- ❌ Copying a full “filter data by date” feature is not.
Be thoughtful about what you borrow!
Partially.
- ✅ You may use AI tools to help write HTML and CSS.
- ❌ You may not use AI to write JavaScript.
HTML/CSS can be tricky to get right, and it's okay to get help making things look nice.
But JavaScript is where you show your own logic and understanding of data!
Nope!
You must use the provided starter code, though you're free to customize it however you like.
You can copy small chunks from other templates if needed.
Nope!
This project is for folks new to web dev. Frameworks do a lot of heavy lifting and hide the logic we're asking you to demonstrate.
SEA will teach you frameworks later—stick to vanilla HTML, CSS, and JS for now.
Nope!
APIs can add complexity beyond the scope of this challenge.
If you really want to use data from an API, save it to a file (like .json or .csv) and use that instead.
💬 Have any questions? Drop them on the Padlet here and we'll get back to you!