# LUSA Back Planner A project timeline generator for production teams. Set a deadline, pick a production lane, and get your timeline instantly. Supports PDF brief parsing, change requests, and PDF export. ## Tech Stack - Vite + React + TypeScript - Tailwind CSS + shadcn/ui - pdfjs-dist (client-side PDF parsing) - jsPDF + html2canvas (PDF export) ## Local Development Requires Node.js 18+. ```bash npm install npm run dev ``` The dev server runs at `http://localhost:5173`. To preview a production build locally: ```bash npm run build npm run preview ``` ## Deploy to Ubuntu Server (Apache) ### 1. Build ```bash npm install npm run build ``` This creates a `dist/` folder with the static site. ### 2. Copy to server ```bash scp -r dist/ user@your-server:/var/www/backplanner ``` ### 3. Create Apache virtual host Create `/etc/apache2/sites-available/backplanner.conf`: ```apache ServerName your-domain.com DocumentRoot /var/www/backplanner Options -Indexes AllowOverride None Require all granted # SPA fallback - route all requests to index.html FallbackResource /index.html # Cache static assets (JS, CSS, images) Header set Cache-Control "public, max-age=31536000, immutable" ``` ### 4. Enable and start ```bash sudo a2enmod headers sudo a2ensite backplanner.conf sudo systemctl reload apache2 ``` ### 5. (Optional) Enable HTTPS with Let's Encrypt ```bash sudo apt install certbot python3-certbot-apache sudo certbot --apache -d your-domain.com ``` ## Subdirectory Deploy If hosting under a subdirectory (e.g. `your-server.com/backplanner/`), set the `base` option in `vite.config.ts` before building: ```ts export default defineConfig({ base: "/backplanner/", // ... }); ``` Then use an `Alias` in Apache instead of a separate virtual host: ```apache Alias /backplanner /var/www/backplanner Options -Indexes AllowOverride None Require all granted FallbackResource /backplanner/index.html ```