Rocky_Mountain_Vending/app/manuals/README.md
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

61 lines
2 KiB
Markdown

# Vending Machine Manuals Page
This page provides a comprehensive, SEO-optimized interface for browsing and downloading vending machine manuals.
## Features
- **Scalable Design**: Handles hundreds of manuals efficiently
- **Smart Organization**: Automatically organizes by manufacturer and category
- **Advanced Filtering**: Filter by manufacturer, category, or search by name
- **Two View Modes**: Grouped view (by manufacturer/category) or list view
- **SEO Optimized**: Includes structured data, proper metadata, and semantic HTML
- **Performance**: Server-side scanning with client-side filtering
## Directory Structure
Manuals should be organized in the `/manuals` directory at the project root:
```
manuals/
├── BevMax/
│ ├── manual1.pdf
│ └── manual2.pdf
├── Merchant-Series/
│ └── manual.pdf
└── Other/
└── manual.pdf
```
## How It Works
1. **Scanning**: The `scanManuals()` function scans the manuals directory and extracts metadata
2. **Categorization**: Automatically categorizes manuals based on filename patterns (model numbers, types, etc.)
3. **Serving**: PDFs are served via API route (`/api/manuals/[...path]`) for security and flexibility
4. **Filtering**: Client-side filtering provides instant results without page reloads
## SEO Features
- Comprehensive metadata with keywords
- Structured data (WebPage + CollectionPage schemas)
- Semantic HTML structure
- Proper heading hierarchy
- Canonical URLs
- Open Graph and Twitter Card support
## Adding Manuals
Simply add PDF files to the appropriate manufacturer directory. The system will:
- Automatically detect new files
- Extract categories from filenames
- Make them searchable and filterable
- Serve them securely via the API route
## Performance Considerations
- Manuals are scanned server-side at build time
- Client-side filtering ensures fast interactions
- PDFs are cached with long-term headers
- Supports hundreds of manuals without performance degradation