Skip to content

Course Recap and What's Next

You started this course with a static web page and a blank JavaScript file. You are finishing it with five working, production-quality features running on a real website. That is not a small thing.

Mobile Navigation Toggle — A hamburger button that opens and closes the site navigation on small screens, with aria-expanded for accessibility and outside-click detection to close automatically.

Tour Category Filter — Filter buttons that show and hide tour cards by type, using data-category attributes and event delegation so the whole thing runs on a single event listener.

Photo Gallery Lightbox — A full-screen image overlay built entirely from scratch with createElement, a keyboard Escape handler, and a body scroll lock — no library, no framework.

Contact Form Validation — A form that validates all required fields, shows specific inline error messages, clears errors as the user corrects them, and displays a success state on valid submission.

Tour Favorites List — A favorites list powered by localStorage that persists across page reloads, using JSON serialization to store arrays and delegation-based add and remove interactions.

FeatureCore JavaScript concepts used
Mobile Nav ToggleaddEventListener, classList.toggle, setAttribute, element.contains
Tour Category Filterdata-* attributes, dataset, event delegation, forEach, closest
Photo Gallery LightboxcreateElement, appendChild, remove, keydown, event.key
Contact Form Validationsubmit event, preventDefault, .trim(), input event, classList
Tour Favorites ListlocalStorage, JSON.stringify, JSON.parse, array push/filter, DOM rendering

Every feature drew on earlier modules too — DOM selection, string and array methods, functions, control flow. The STO project was designed so that each new concept fit into real code you actually needed.

The STO site is complete — five interactive features, full CSS, accessible HTML. Time to ship it.

If you already deployed after HTML or CSS Foundations, push the JavaScript updates:

Terminal window
git add .
git commit -m "add interactive features"
git push

If this is your first deployment:

Terminal window
git init
git branch -m main
git add .
git commit -m "initial commit"
git remote add origin https://github.com/<your-username>/summit-trail-outfitters.git
git push -u origin main

Then go to the repository on GitHub → Settings → Pages → set branch to main, folder to / (root)Save.

Your live site will be at https://<your-username>.github.io/summit-trail-outfitters/. You can browse the reference repo on GitHub or view the live reference site.

The next course in this series is Git Foundations — version control from the command line. You will learn to commit your work, manage branches, resolve merge conflicts, and collaborate through pull requests on GitHub.

The STO project you just published is your first real portfolio piece — a complete, interactive, styled website you built from scratch.

Start Git Foundations →

The Summit Trail Outfitters site started as a design exercise and became a real interactive web application — built by you, feature by feature, using the same tools and patterns professional developers use every day.

Keep building.