A Vite/React companion guide for Final Fantasy VIII Remastered.
Install dependencies and start Vite:
npm ci
npm run devProgress is saved to localStorage by default. To enable Firebase Auth and Firestore sync locally, copy .env.example to .env.local and fill in the Firebase Web SDK values. Do not commit .env.local or real Firebase values.
This repo deploys to GitHub Pages through GitHub Actions in .github/workflows/deploy.yml. Add the Firebase Web SDK values as repository secrets:
VITE_FIREBASE_API_KEYVITE_FIREBASE_AUTH_DOMAINVITE_FIREBASE_PROJECT_IDVITE_FIREBASE_STORAGE_BUCKETVITE_FIREBASE_MESSAGING_SENDER_IDVITE_FIREBASE_APP_IDVITE_FIREBASE_MEASUREMENT_ID
VITE_GUIDE_SLUG is set to ff8 in the workflow. The workflow runs npm ci, npm run typecheck, and npm run build, then uploads dist to GitHub Pages.
Firebase Web SDK config values are public after build; that is normal. Security comes from Firebase Auth, Firestore rules, authorized domains, API key restrictions, and optionally App Check.
Publish the Firestore rules in firestore.rules to Firebase before enabling sync. Also restrict the Firebase API key in Google Cloud Console by HTTP referrer to the deployed GitHub Pages URL and local development origins, verify Firebase Auth authorized domains, and consider enabling Firebase App Check for Firestore. Email verification is not required for this low-risk progress tracker, but consider requiring it if you later add higher-risk account features.