# MERN Template - AI/LLM Information File # This file helps AI assistants understand and interact with this application # Specification: https://llmstxt.org/ # Site Information name: MERN Template description: A complete full-stack MERN (MongoDB, Express, React, Node.js) template with e-commerce and appointment booking functionality. url: https://www.templates.mern.alexanderfields.me author: Alexander Fields # ============================================================================= # MACHINE-READABLE API ACCESS (JSON) # ============================================================================= # AI assistants can programmatically fetch data from these public JSON endpoints. # All responses are JSON format with structure: { success: true, message: "", data: {...} } # GET HOME PAGE CONTENT (JSON) - Feature cards, hero section, SEO data # Endpoint: /api/site-content/home # Method: GET # Auth: None required # Response: { success: true, data: { hero: { title, subtitle, ... }, features: [{ title, description, icon, isVisible }], seo: { title, description, keywords } } } # GET ALL PRODUCTS (JSON) # Endpoint: /api/products # Method: GET # Auth: None required # Response: { success: true, data: [{ _id, name, description, price, imageUrl, category, countInStock, averageRating }] } # Example: curl -H "Accept: application/json" https://www.alexanderfields.me/api/products # GET SINGLE PRODUCT (JSON) # Endpoint: /api/products/{id} # Method: GET # Auth: None required # Response: { success: true, data: { _id, name, description, price, imageUrl, images, category, countInStock, reviews } } # GET ALL CATEGORIES (JSON) # Endpoint: /api/categories # Method: GET # Auth: None required # Response: { success: true, data: [{ _id, name, slug, description, isActive }] } # GET ALL SERVICES (JSON) # Endpoint: /api/services # Method: GET # Auth: None required # Response: { success: true, data: [{ _id, name, description, duration, price, isActive }] } # GET BUSINESS HOURS (JSON) # Endpoint: /api/business-hours # Method: GET # Auth: None required # Response: { success: true, data: [{ dayOfWeek, openTime, closeTime, isClosed }] } # GET PRODUCT REVIEWS (JSON) # Endpoint: /api/reviews?productId={productId} # Method: GET # Auth: None required # Response: { success: true, data: [{ _id, rating, comment, user, createdAt }] } # HEALTH CHECK (JSON) # Endpoint: /api/health # Method: GET # Auth: None required # Response: { status: "ok", timestamp: "ISO8601" } # ============================================================================= # RESPONSE FORMAT # ============================================================================= # All API responses follow this structure: # { # "success": true|false, # "message": "Human-readable message", # "data": { ... } or [ ... ], # "error": { "message": "..." } (only on failure) # } # ============================================================================= # SITE CONTENT STRUCTURE # ============================================================================= pages: - / (Home page with features overview) - /products (Product catalog - browsable) - /products/{id} (Individual product details) - /appointments (Appointment booking) - /contact (Contact form) - /privacy (Privacy policy) - /terms (Terms of service) - /login (User authentication) - /register (User registration) # ============================================================================= # STRUCTURED DATA (JSON-LD) # ============================================================================= # Pages include Schema.org structured data for: schema_types: - Organization (site-wide) - WebSite (with SearchAction for sitelinks) - Product (on product pages) - Review (on product pages) - BreadcrumbList (navigation context) - FAQPage (where applicable) # ============================================================================= # AI INTERACTION GUIDELINES # ============================================================================= guidelines: - All public endpoints return JSON - no authentication needed - Set Accept: application/json header for best results - Rate limiting is in effect - respect Crawl-delay in robots.txt - Product data is real catalog data - Prices are in USD unless otherwise specified - For bulk data access, use /api/products endpoint # ============================================================================= # TECHNOLOGY STACK # ============================================================================= stack: frontend: React 18 backend: Node.js, Express.js database: MongoDB api_format: REST/JSON # ============================================================================= # SEO CONFIGURATION # ============================================================================= # The following SEO elements are configured: seo_elements: - Open Graph meta tags (og:title, og:description, og:image, etc.) - Twitter Card meta tags - Schema.org JSON-LD (WebApplication, WebSite, Organization) - Canonical URL - robots.txt with AI crawler directives - sitemap.xml - PWA manifest with SEO metadata # FORK Notes: # - Update robots.txt Sitemap URL with your domain # - Update sitemap.xml URLs with your domain # - Update this file's url field above # - Convert og-image.svg to og-image.png (1200x630) # Last Updated: 2025-12-18