Collector Hub Static Site
March 22, 2026 ยท View on GitHub
This project is a static marketplace-style website built with HTML, CSS, jQuery, and small client-side enhancements.
What's Included
- Multi-page static site
- Live client-side create form preview
- Search and sort on the explore page
- Interactive bidding demo on the item details page
- Author follow toggle
Run Locally
You can serve the site with Python directly:
python3 -m http.server 4173
Or use the npm script:
npm start
Then open:
http://localhost:4173
Project Structure
index.html- homepageexplore.html- searchable listingsdetails.html- item details and bid demoauthor.html- creator profile pagecreate.html- client-side item submission formassets/js/app.js- page-specific interactive behaviorassets/js/custom.js- shared template interactions
Notes
- This is still a static frontend project.
- Form submissions and bids are simulated in the browser for demo purposes.
- If you want a real marketplace flow, the next step is connecting these pages to an API or backend.
CI And QA Pipeline
This repository now includes a CI-ready QA toolchain for a static frontend project:
npm run lintvalidates HTML and the maintained application scriptsnpm run test:unitruns Vitest with coverage for client-side logicnpm run test:integrationruns Playwright browser tests against the local sitenpm run auditrunsnpm auditand Retire.js vulnerability scanningnpm run sonar:prepareconverts test reports into a SonarQube-friendly execution report
The Jenkinsfile runs those stages before deployment and archives the generated artifacts from reports/.
Suggested Jenkins Stages
If you want to write the Jenkinsfile yourself and test it locally first, these are the recommended stages for this project:
-
Checkout / Fetch SourceDownload or clone the project source for the tag or branch you want to test. -
Install DependenciesRun:npm ci -
Install Playwright BrowserRun:npx playwright install chromium -
LintRun:npm run lint -
Unit TestsRun:npm run test:unit -
Integration TestsRun:npm run test:integration -
Security ChecksRun:npm run audit -
Prepare SonarQube ReportsRun:npm run sonar:prepare -
SonarQube ScanRun Sonar scanner from Jenkins after the test and coverage reports are created. -
Quality GateWait for SonarQube quality gate result and fail the pipeline if it does not pass. -
DeployOnly deploy after all QA, security, and SonarQube checks pass. -
Post ActionsArchive reports, publish JUnit XML results, and clean the workspace.
Local Pipeline Test Order
Before writing Jenkins stages, you can validate the same flow locally with:
npm ci
npx playwright install chromium
npm run ci
This gives you a local check for linting, unit tests, integration tests, Sonar report preparation, and vulnerability scanning before Jenkins is involved.
Jenkins Requirements
To make the updated pipeline work in Jenkins, configure these items first:
- A Node.js-capable agent with
npm - SonarQube Jenkins plugin plus a configured server named
sonarqube - A configured Sonar scanner tool named
sonar-scanner - Credentials:
GITHUB_TOKENnginx-server-key
If your Jenkins agents do not already have the Linux libraries needed by Playwright Chromium, install them on the agent image or switch the pipeline to a browser-ready container agent.