Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ Amazon Affiliate Portfolio & Social Syndication Engine

License: MIT Node.js Express Status: Production PRs Welcome

A 100% free, production-ready, open-source template for Amazon Associates, Influencers, and Content Creators to build an autonomous e-commerce deals portfolio with automated Pinterest syndication, live price synchronization, and strict affiliate compliance.


🌟 Why Use This Template?

Running an affiliate business manually is time-consuming. Deals expire, prices fluctuate, and out-of-date prices can violate Amazon Associates policies.

This template provides an all-in-one autonomous system that:

  • 🌐 Deploys a responsive storefront in under 5 minutes with zero hosting costs (Render / Vercel Free Tier).
  • πŸ”„ Synchronizes Amazon prices in real time with multi-selector fallback scraping.
  • πŸ“Œ Automates Pinterest marketing via Media RSS 2.0 and Pinterest Bulk CSV exports.
  • πŸ›‘οΈ Guarantees 100% affiliate compliance by validating outbound links, rating thresholds, and mandatory disclosures.
  • πŸ“Š Syncs audit reports with Google Sheets for live portfolio tracking.
  • πŸ”’ Includes a private admin dashboard for 1-click ASIN lookup, price editing, and catalog management.

πŸ—οΈ System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    LAYER 1: PRESENTATION & STOREFRONT                   β”‚
β”‚   β€’ Responsive Glassmorphic Storefront   β€’ Category Filters & Search    β”‚
β”‚   β€’ 1-Click WhatsApp & Social Sharing    β€’ Dynamic Deal Countdown Timer β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    LAYER 2: WEB & API SERVER (Node / Express)           β”‚
β”‚   β€’ REST Endpoints (/api/products, /api/cron/*, /api/admin/*)           β”‚
β”‚   β€’ Static Asset Pipeline                β€’ Security & Rate Limiting     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    LAYER 3: GOVERNANCE & COMPLIANCE AGENT               β”‚
β”‚   β€’ Safe-Fail Circuit Breaker            β€’ Amazon Tag Strict Matching   β”‚
β”‚   β€’ Mandatory Affiliate Disclosures      β€’ Product Integrity Gate (4β˜…+) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    LAYER 4: REAL-TIME PRICE ENGINE                      β”‚
β”‚   β€’ 7-Stage Multi-Selector Fallback      β€’ Anti-Bot Header Rotation     β”‚
β”‚   β€’ Buybox Availability Parsing          β€’ Price Delta Change Tracking  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    LAYER 5: STORAGE & HIGH-SPEED CACHE                  β”‚
β”‚   β€’ In-Memory Map Cache (O(1) Access)    β€’ JSON File Backing Store      β”‚
β”‚   β€’ Live Google Sheets CSV Ingestion     β€’ Ultra-Lean <80MB Memory      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    LAYER 6: PINTEREST & SOCIAL SYNDICATION              β”‚
β”‚   β€’ Media RSS 2.0 XML Auto-Publisher     β€’ Pinterest Bulk CSV Generator β”‚
β”‚   β€’ Automated #ad Tag Attribution        β€’ High-Res Image Pipeline      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Step-by-Step Setup Guide

πŸ“‹ Prerequisites

  1. Node.js 18+ installed locally (Download Node.js).
  2. An active Amazon Associates Account to get your Associate Tag (e.g. yourtag-21).
  3. (Optional) A Pinterest Business Account to automate daily pin publishing.

Step 1: Clone the Repository & Install Dependencies

# Clone the repository
git clone https://github.com/your-username/amazon-affiliate-portfolio-template.git

# Enter the project directory
cd amazon-affiliate-portfolio-template

# Install dependencies
npm install

Step 2: Configure Environment Variables

Create your local .env configuration from the provided template:

cp .env.example .env

Open .env in your code editor and customize the parameters:

# Server Port
PORT=3000

# Your Public Website URL (e.g., http://localhost:3000 for local testing)
SITE_URL=http://localhost:3000

# Your Amazon Associates Partner Tracking Tag (e.g., yourtag-21)
AMAZON_ASSOCIATE_TAG=YOUR_ASSOCIATE_TAG_21

# Master Password for the Private Admin Dashboard (/admin)
ADMIN_PASSWORD=YOUR_STRONG_ADMIN_PASSWORD_HERE

# Notification Email for System & Integrity Reports
GUARDIAN_ALERT_EMAIL=YOUR_NOTIFICATION_EMAIL@example.com

# Automated Cron Sync Interval (in hours)
SYNC_INTERVAL_HOURS=2

Step 3: Run & Test Locally

# Run test suite to verify 1-to-1 link integrity & format checks
npm test

# Start the application server
npm start

☁️ Free 1-Click Cloud Deployment

Option A: Deploy on Render.com (Recommended - 100% Free)

  1. Sign up or log in to Render.com.
  2. Click New + β†’ Web Service.
  3. Connect your GitHub repository.
  4. Fill in the build settings:
    • Name: my-affiliate-store (or your preferred name)
    • Runtime: Node
    • Build Command: npm install
    • Start Command: npm start
    • Instance Type: Free
  5. Under Environment Variables, add:
    • NODE_ENV = production
    • AMAZON_ASSOCIATE_TAG = YOUR_ASSOCIATE_TAG_21
    • ADMIN_PASSWORD = YOUR_STRONG_ADMIN_PASSWORD_HERE
    • SITE_URL = https://YOUR-APP-NAME.onrender.com
    • GUARDIAN_ALERT_EMAIL = YOUR_NOTIFICATION_EMAIL@example.com
  6. Click Deploy Web Service. Your affiliate site is live!

Option B: Deploy on Vercel (Serverless)

  1. Sign up or log in to Vercel.com.
  2. Click Add New... β†’ Project and import your repository.
  3. In Environment Variables, add AMAZON_ASSOCIATE_TAG, ADMIN_PASSWORD, and SITE_URL.
  4. Click Deploy. Vercel uses the included vercel.json automatically.

πŸ“Œ Pinterest Automation Setup

Drive passive traffic to your affiliate site with two automated methods:

Method 1: Pinterest Media RSS Auto-Publish (100% Hands-Free)

  1. Go to your Pinterest Business Hub β†’ Settings β†’ Claimed Accounts.
  2. Claim your deployed website domain (e.g., https://YOUR-APP-NAME.onrender.com).
  3. Navigate to Bulk Create Pins β†’ Auto-publish from RSS feed.
  4. Enter your live feed URL:
    https://YOUR-APP-NAME.onrender.com/pinterest-deals.xml
    
  5. Select your target Pinterest Board (e.g., Best Amazon Deals).
  6. Click Save. Pinterest will automatically check your feed and publish new pins daily with compliance tags (#ad) and your direct links!

Method 2: 1-Click Pinterest Bulk CSV Upload

  1. Log in to your Admin Dashboard (/admin) or visit /pinterest-pins.csv.
  2. Download the pre-formatted CSV file.
  3. In Pinterest, navigate to Create β†’ Create Pins in Bulk.
  4. Upload the downloaded CSV to schedule dozens of pins instantly.

πŸ“Š Google Sheets Real-Time Sync & Auditing

Track your deals catalog and price changes in Google Sheets:

  1. Open a new Google Sheet.
  2. In cell A1, paste the following formula:
    =IMPORTDATA("https://YOUR-APP-NAME.onrender.com/master-ecosystem-audit.csv")
    
  3. Google Sheets will automatically fetch and display your live product metrics, price deltas, and compliance health status.

πŸ› οΈ Admin Dashboard Capabilities (/admin)

  • πŸ” 1-Click Product Addition: Enter any 10-character Amazon ASIN to look up product titles, prices, ratings, and high-res images automatically.
  • ⚑ Live Price Auditor: Run real-time buybox checks across your entire catalog.
  • πŸ“‰ Price Deltas Ledger: Inspect recorded price reductions and discounts.
  • πŸ“Œ Pinterest OAuth & Status: Check feed generation status and download CSVs.
  • πŸ’¬ User Feedback Inbox: Review and resolve customer product suggestions.

πŸ“‘ REST API Reference

Endpoint Method Access Description
/api/products GET Public Returns verified catalog products in JSON
/api/cron/ping GET Public Lightweight keep-alive health check
/api/cron/2hour-sync GET Public Scheduled 2-hour price & compliance sync
/pinterest-deals.xml GET Public Media RSS 2.0 XML feed for Pinterest Auto-Publish
/pinterest-pins.csv GET Public Pre-formatted Pinterest Bulk Upload CSV
/master-ecosystem-audit.csv GET Public Google Sheets live CSV export bridge
/api/admin/system-status GET Admin Safe-Fail Guardian status & memory telemetry
/api/admin/price-deltas GET Admin Price change audit trail
/api/admin/run-price-sync POST Admin Manual trigger for instant real-time price verification

πŸ›‘οΈ Policy & Disclaimer Compliance

This template is built in accordance with the Amazon Associates Program Operating Agreement:

  • Canonical Attribution: Outbound links are strictly tagged with your verified tag=YOUR_TAG.
  • Clear Disclosures: Prominent static and dynamic affiliate notices ("As an Amazon Associate, I earn from qualifying purchases") appear on the storefront, cards, and privacy pages.
  • Transparent Pricing: Displays real-time timestamps on price data to ensure accuracy.

πŸ“œ License

Distributed under the MIT License. Free for personal and commercial use. See LICENSE for details.

About

Free, production-ready Amazon Affiliate & Influencer deals portfolio template with automated Pinterest syndication, live price sync, and compliance supervisor.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages