Hoop Connect is a front-end NBA web app where fans can explore players, browse teams by division, and interact through a fan form.
This project is a multi-page website built with plain HTML, CSS, and JavaScript. It focuses on core front-end concepts: reusable layout, DOM interaction, client-side form validation, and loading data from a local JSON file.
index.html: Home page with hero image carousel and featured playersprofiles.html: Player profiles split into Superstar and Rising Star tabsteams.html: Interactive team browser by conference and divisionfanzone.html: Fan form with real-time input validation and submit feedback
- Automatic and manual image carousel controls
- Tab-based content switching on the profiles page
- Team filtering UI driven by
data/teams.json - Client-side form validation with success message
- Shared navigation/header/footer across pages
- HTML5
- CSS3
- JavaScript (Vanilla ES6)
- JSON data file for teams
.
├── index.html
├── profiles.html
├── teams.html
├── fanzone.html
├── css/
│ └── styles.css
├── js/
│ └── script.js
├── data/
│ └── teams.json
└── images/
- Open a terminal in the project root.
- Start a local server:
python3 -m http.server 8000- Open the app in your browser:
http://localhost:8000/index.html
Using a local server is recommended because the teams page uses fetch() to load JSON data.
All page scripts are initialized in js/script.js after DOMContentLoaded.
setupCarousel()handles slide movement and auto-rotationsetupTabs()switches between profile sectionssetupTeamPages()loads and filters team datasetupFormValidation()validates fan form inputs
- Add search and sorting for teams/players
- Store fan submissions with
localStorageor a backend - Improve accessibility (keyboard navigation, ARIA labels, focus states)
- Add automated UI testing
No license is currently specified.