A field operations PWA for managing projects, tasks, purchase orders, and shipping — with Firebase real-time sync.
/
├── index.html # App shell — HTML only, no inline JS or CSS
├── css/
│ └── app.css # All styles (~68KB)
└── js/
├── config.js # Firebase project config (edit this for your project)
├── utils.js # Helpers: theme, toast, badges, formatters, haptic
├── data.js # State, Firebase sync, localStorage CRUD, offline queue
├── render.js # All render functions: dashboard, tasks, projects, POs, shipping
├── modals.js # Modal open/close, all save/edit form handlers, combo boxes
├── features.js # Search, notifications, tab bar, smart FAB, location, swipe
└── globals.js # window.X = X assignments for iOS WKWebView compatibility
The order in index.html is intentional:
config.js— setswindow._embeddedFirebaseConfigbefore Firebase SDK loads- Firebase CDN scripts
utils.js— no dependenciesdata.js— depends on utilsrender.js— depends on utils + datamodals.js— depends on render + datafeatures.js— depends on all aboveglobals.js— exposes everything towindowfor iOS WKWebView
Enable Pages in repo Settings → Pages → Deploy from branch main, folder /.
The app will be live at https://<username>.github.io/<repo>/
Edit js/config.js and replace the config object with your own from the Firebase Console.
- All functions must be on
window— handled byglobals.js - No ES6 (
const/let/arrows/template literals) — all ES5 - NodeList.forEach polyfill in
features.js -webkit-animationprefixes inapp.css