| .. | ||
| dashboard | ||
| page.tsx | ||
| README.md | ||
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
- Scanning: The
scanManuals()function scans the manuals directory and extracts metadata - Categorization: Automatically categorizes manuals based on filename patterns (model numbers, types, etc.)
- Serving: PDFs are served via API route (
/api/manuals/[...path]) for security and flexibility - 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