Files
QBPOS-Help/README.md

9.6 KiB

📁 QBPOS Help Website - Workspace Organization

Project: QuickBooks POS 2019 Help Documentation

URL: https://quickbookposhelp.access.ly

Last Updated: January 10, 2026


📂 Folder Structure

QBPOS_Help_Web/
├── QB_Help_Web/              # 🌐 LIVE WEBSITE (DO NOT MODIFY DIRECTLY)
│   ├── POS_Help.html         # Main entry point (frameset)
│   └── POS_Help/             # All help content (939 pages)
│       ├── ___dtree.js       # Navigation logic
│       ├── ___dtree.css      # Tree styles
│       ├── ___left.htm       # Left navigation panel
│       ├── responsive.css    # Responsive design (NEW)
│       └── qbpos_*/          # Content folders
│
├── scripts/                  # 🔧 Shell Scripts
├── python/                   # 🐍 Python Scripts
├── config/                   # ⚙️  Configuration Files
├── docs/                     # 📚 Documentation
├── backups/                  # 💾 Backup Files
└── archives/                 # 📦 Old/Archive Files

🔧 scripts/ - Shell Scripts

Script Purpose Usage
backup_site.sh Daily automated backup Run manually or via cron
monitor_logs.sh Security monitoring ./scripts/monitor_logs.sh
validate_frontend.sh Frontend validation tests ./scripts/validate_frontend.sh
deploy_nginx.sh Deploy nginx configuration Setup only
install_service.sh Install systemd service Setup only
setup_https.sh SSL/HTTPS setup Setup only
setup_ssl.sh SSL certificate setup Setup only
check_dns_and_ssl.sh DNS/SSL verification Diagnostics
get_ssl_cert.sh Get SSL certificate Setup only
health_check.sh Server health check Monitoring
add_mobile_*.sh Mobile nav scripts (OLD) Archived

Active Scripts:

# Run daily security monitoring
./scripts/monitor_logs.sh

# Validate frontend changes
./scripts/validate_frontend.sh

# Manual backup
./scripts/backup_site.sh

🐍 python/ - Python Scripts

Script Purpose Status
fix_inline_styles.py Force 13pt fonts on all pages Used (one-time)
inject_style.py Inject CSS into HTML files Used (one-time)
move_styles.py CSS organization Used (one-time)
production_server.py Python HTTP server 🗄️ Archived (using nginx)
secure_production_server.py Secure Python server 🗄️ Archived (using nginx)
server.py Simple HTTP server 🗄️ Archived (using nginx)
fix_navbar.py Fix navigation bar 🗄️ Archived
rebuild_left_nav.py Rebuild left panel 🗄️ Archived
pycache/ Python cache Auto-generated

Note: All Python servers are archived. Website now runs on nginx.


⚙️ config/ - Configuration Files

File Purpose Location
qbpos-help.service Systemd service (archived) Not in use
qbpos-health-check.service Health check service Not in use
qbpos-health-check.timer Health check timer Not in use
qbpos-help-final.conf Final nginx config 🗄️ Archived
qbpos-help-ssl.conf SSL nginx config 🗄️ Archived
qbpos-help-http-temp.conf Temp HTTP config 🗄️ Archived
nginx_setup.conf Initial nginx setup 🗄️ Archived

Active Config:

  • Live nginx config: /etc/nginx/sites-available/qbpos-help
  • Symlink: /etc/nginx/sites-enabled/qbpos-help

To edit active config:

sudo nano /etc/nginx/sites-available/qbpos-help
sudo nginx -t  # Test
sudo systemctl restart nginx  # Apply

📚 docs/ - Documentation

Document Description
README_SECURITY.md Security features & maintenance
FRONTEND_FIXES.md Frontend improvements (detailed)
FRONTEND_QUICK_REF.md Frontend fixes (quick reference)
DEPLOYMENT_GUIDE.md Full deployment guide
AUTO_START_GUIDE.md Auto-start service guide
MOBILE_RESPONSIVE_SUMMARY.md Mobile responsiveness summary
QUICK_REFERENCE.txt Quick commands reference
STATUS_REPORT.txt Project status report

Read First:

  1. README_SECURITY.md - Security & monitoring
  2. FRONTEND_QUICK_REF.md - Frontend status
  3. QUICK_REFERENCE.txt - Common commands

💾 backups/ - Backup Files

Automated backups are stored in: /home/pts/backups/qbpos_help/

This folder contains:

  • backup_html_20260109_181143/ - Manual HTML backup
  • backup_html_20260109_181155/ - Manual HTML backup
  • ORIGINAL_FILES_BACKUP/ - Original files before modifications

Active Backup System:

  • Schedule: Daily at 2:00 AM
  • Location: /home/pts/backups/qbpos_help/
  • Retention: 7 days
  • Script: scripts/backup_site.sh

View backups:

ls -lh /home/pts/backups/qbpos_help/

📦 archives/ - Old/Archive Files

File Description
QB_Help_Web_CURRENT_BROKEN_20260109_200109.tar.gz Backup before mobile fix
server.log Old server logs

🌐 QB_Help_Web/ - Live Website

⚠️ CRITICAL: This is the LIVE website served by nginx

QB_Help_Web/
├── POS_Help.html              # Entry point (desktop: frameset, mobile: redirect)
└── POS_Help/
    ├── ___dtree.js            # Navigation tree logic (mobile detection)
    ├── ___dtree.css           # Tree base styles
    ├── ___left.htm            # Left navigation panel (ARIA + semantic HTML)
    ├── responsive.css         # Responsive design (mobile/tablet/desktop)
    ├── qbpos.css              # Legacy styles
    ├── prompttech-header.css  # Header styles
    ├── ehlpdhtm.js            # Legacy help system
    └── qbpos_*/               # 939 content pages (all with 13pt fonts)

DO NOT:

  • Delete files without backup
  • Edit ___dtree.js without testing
  • Change file permissions
  • Remove cache-busting parameters

Nginx Root:

/home/pts/Documents/QBPOS_Help_Web/QB_Help_Web

🚀 Quick Commands

Security & Monitoring

# View security status
./scripts/monitor_logs.sh

# Check fail2ban
sudo fail2ban-client status

# View backups
ls -lh /home/pts/backups/qbpos_help/

# SSL certificate info
sudo certbot certificates

Nginx Management

# Test config
sudo nginx -t

# Restart nginx
sudo systemctl restart nginx

# View logs
sudo tail -f /var/log/nginx/qbpos-access.log
sudo tail -f /var/log/nginx/qbpos-error.log

Frontend Testing

# Validate frontend
./scripts/validate_frontend.sh

# Test site
curl -I https://quickbookposhelp.access.ly

Backup & Restore

# Manual backup
./scripts/backup_site.sh

# Restore from backup
cd /home/pts/backups/qbpos_help/
tar -xzf qbpos_help_YYYYMMDD_HHMMSS.tar.gz

📊 System Status

Production Ready

🔒 Security Features

  • fail2ban (5 nginx jails)
  • Security headers (X-Frame-Options, CSP, etc.)
  • SSL/TLS encryption
  • Daily automated backups
  • Log monitoring

📱 Frontend Features

  • Responsive (mobile/tablet/desktop)
  • WCAG 2.1 AA accessibility
  • Dark mode support
  • 44x44px touch targets
  • ARIA labels & semantic HTML
  • Error handling in JavaScript
  • Cache control (no-cache for dynamic files)

🛠️ Maintenance Tasks

Daily

  • Check backup logs: tail /var/log/qbpos_backup.log
  • Review security: ./scripts/monitor_logs.sh

Weekly

  • Check fail2ban: sudo fail2ban-client status
  • Review nginx logs for suspicious activity

Monthly

  • Verify backups working
  • Update system packages: sudo apt update && sudo apt upgrade
  • Review disk space: df -h

Quarterly

  • Test backup restoration
  • Security audit
  • SSL certificate check (auto-renews 30 days before expiry)

📞 Troubleshooting

Issue: Site not loading

sudo systemctl status nginx
sudo nginx -t
sudo tail -f /var/log/nginx/error.log

Issue: SSL certificate error

sudo certbot certificates
sudo certbot renew --dry-run
sudo systemctl restart nginx
# Clear browser cache completely
# Hard refresh: Ctrl+Shift+R or Cmd+Shift+R

Issue: Backup failed

tail -f /var/log/qbpos_backup.log
./scripts/backup_site.sh  # Run manually

🎯 Project Overview

What This Is:

  • QuickBooks POS 2019 Desktop Help Documentation
  • 939 HTML pages converted from CHM format
  • Fully responsive (mobile, tablet, desktop)
  • WCAG 2.1 AA accessible
  • Production-grade security

Key Features:

  • 13pt fonts on all pages (user request)
  • Mobile: Single-page navigation, same-tab links
  • Desktop: Frameset layout (left nav + content)
  • Welcome box from PromptTech Solution
  • No online services, no subscription required

Technologies:

  • nginx 1.24+ (web server)
  • Let's Encrypt SSL (HTTPS)
  • fail2ban (intrusion prevention)
  • JavaScript tree navigation (dTree)
  • Responsive CSS (mobile-first)

📧 Support

PromptTech Solution


Last Updated: January 10, 2026 Version: 1.0.0 (Production) Status: All Features Complete