# EzSepa Bank Payment - Landing Page
Production-ready, responsive, accessible static landing page for the EzSepa Bank Payment Shopify app. Built with TailwindCSS, Vite, and vanilla JavaScript.
## 📁 Project Structure
```
ezsepa/
├── index.html # Main landing page
├── styles.css # TailwindCSS styles with custom utilities
├── main.js # JavaScript for interactivity and analytics
├── package.json # Dependencies and build scripts
├── tailwind.config.js # TailwindCSS configuration
├── postcss.config.js # PostCSS configuration
├── i18n-keys.json # Internationalization keys for integration
├── assets/ # Image assets and placeholders
│ ├── hero.png # Dashboard hero image (SVG placeholder)
│ ├── checkout.png # Checkout extension screenshot (SVG)
│ ├── analytics.png # Analytics dashboard screenshot (SVG)
│ └── favicon.svg # App favicon
└── README.md # This file
```
## 🚀 Quick Start
### 1. Install Dependencies
```powershell
npm install
```
This will install:
- Vite (v5.0.0) - Fast development server and build tool
- TailwindCSS (v3.4.0) - Utility-first CSS framework
- PostCSS (v8.4.32) - CSS transformation
- Autoprefixer (v10.4.16) - Auto-add vendor prefixes
### 2. Development Server
```powershell
npm run dev
```
Opens development server at `http://localhost:5173` with hot module reload.
### 3. Build for Production
```powershell
npm run build
```
Generates optimized production files in `dist/` folder:
- Minified HTML, CSS, and JS
- Optimized assets
- Ready for deployment
### 4. Preview Production Build
```powershell
npm run preview
```
Preview the production build locally at `http://localhost:5174`.
## 🎨 Design Overview
**Modern, clean landing page** with Shopify-esque aesthetic using:
- **Color palette**: Brand blue (#0A66C2), success green (#00875A), warning yellow (#FFAB00)
- **Typography**: System font stack (system-ui, Segoe UI, Roboto, etc.)
- **Responsive breakpoints**: Mobile-first → 640px → 1024px
- **Animations**: Fade-in-up, float effects, smooth scrolling
## 🔧 Customization Guide
### 1. Replace Placeholder Links
**Search and replace these placeholders** in `index.html`:
- `{INSTALL_LINK}` → Your Shopify App Store URL (e.g., `https://apps.shopify.com/ezsepa-bank-payment`)
- `{DEMO_LINK}` → Demo video or interactive demo URL
- `https://github.com/your-repo` → Your actual GitHub repository URL
**Quick PowerShell find/replace:**
```powershell
(Get-Content index.html) -replace '\{INSTALL_LINK\}', 'https://apps.shopify.com/your-app' | Set-Content index.html
(Get-Content index.html) -replace '\{DEMO_LINK\}', 'https://youtu.be/demo-video' | Set-Content index.html
(Get-Content index.html) -replace 'https://github.com/your-repo', 'https://github.com/yourname/auto-bank-payment' | Set-Content index.html
```
### 2. Replace Asset Images
**Current assets are SVG placeholders.** Replace with real screenshots:
#### Option A: Use existing repo images
If your main repo (`auto-bank-payment`) has images in `web/client/src/assets/images/`:
```powershell
# Copy from main repo to landing page
Copy-Item "../auto-bank-payment/web/client/src/assets/images/hero.png" "./assets/hero.png"
Copy-Item "../auto-bank-payment/web/client/src/assets/images/analytics.png" "./assets/analytics.png"
Copy-Item "../auto-bank-payment/web/client/src/assets/images/checkout.png" "./assets/checkout.png"
```
#### Option B: Take new screenshots
1. **Hero image** (`assets/hero.png`): Dashboard showing QR codes and analytics (1200×800px recommended)
2. **Checkout image** (`assets/checkout.png`): Thank-you page with QR code extension (1200×700px)
3. **Analytics image** (`assets/analytics.png`): Analytics dashboard with charts (800×600px)
**Optimize images before deploying:**
```powershell
# Install optimization tools (optional)
npm install -D vite-plugin-imagemin
```
### 3. Configure Analytics
**Edit `main.js`** around line 100 to integrate your analytics provider:
```javascript
// Replace this stub with your analytics
window._ezsepa = window._ezsepa || {
track: (eventName, properties = {}) => {
// Option 1: Google Analytics
gtag('event', eventName, properties);
// Option 2: Plausible
plausible(eventName, { props: properties });
// Option 3: Custom endpoint
fetch('/api/track', {
method: 'POST',
body: JSON.stringify({ event: eventName, ...properties })
});
}
};
```
**Add your tracking ID** in `index.html` (before ``):
```html
```
### 4. Internationalization Integration
**File: `i18n-keys.json`** contains all landing page copy as structured JSON.
**To integrate with main repo Vue i18n** (`web/client/src/locales/en.json`):
```json
// In web/client/src/locales/en.json, merge:
{
"landing": {
"hero": {
"title": "EzSepa Bank Payment for Shopify",
// ... rest from i18n-keys.json
}
}
}
```
Then update `index.html` to use Vue i18n keys:
```html
{{ $t('landing.hero.title') }}
```
**For static site**, keep as-is or use a static i18n library like:
- `i18next` (https://www.i18next.com/)
- `rosetta` (https://github.com/lukeed/rosetta)
### 5. Color Customization
**Edit `tailwind.config.js`** to change brand colors:
```javascript
colors: {
brand: {
50: '#e6f1ff', // Lightest brand color
500: '#0A66C2', // Primary brand color
600: '#085299', // Hover state
700: '#063e73', // Darkest brand color
},
success: '#00875A', // Success/confirmation green
warning: '#FFAB00', // Warning yellow
error: '#DE350B', // Error red
}
```
Or use **CSS variables** in `styles.css`:
```css
:root {
--color-brand-primary: #0A66C2;
--color-brand-hover: #085299;
--color-success: #00875A;
}
```
## 📦 Deployment
### Option 1: Shopify App Hosting (Recommended)
If integrating with the main Shopify app:
1. **Move to main repo** under `web/landing/`:
```powershell
Move-Item -Path "." -Destination "../auto-bank-payment/web/landing" -Force
```
2. **Update Shopify app routing** (Node/Express backend):
```javascript
// In web/server.js or similar
app.use('/landing', express.static(path.join(__dirname, 'landing/dist')));
```
3. **Deploy with app** via Shopify CLI:
```powershell
cd ../auto-bank-payment
shopify app deploy
```
### Option 2: Static Hosting (Netlify, Vercel, Cloudflare Pages)
**Netlify:**
```powershell
# Install Netlify CLI
npm install -g netlify-cli
# Build and deploy
npm run build
netlify deploy --prod --dir=dist
```
**Vercel:**
```powershell
npm install -g vercel
vercel --prod
```
**GitHub Pages:**
```powershell
npm run build
# Push dist/ to gh-pages branch
```
### Option 3: Custom Server
Upload `dist/` folder contents to your web server:
```powershell
# Example: Upload via FTP, rsync, or SCP
scp -r dist/* user@yourserver.com:/var/www/ezsepa/
```
## 🔍 SEO Checklist
- [x] Meta title and description in ``
- [x] Open Graph tags for social sharing
- [x] JSON-LD structured data (SoftwareApplication schema)
- [x] Semantic HTML5 (`