index.html— the full app (auth + cloud data)netlify.toml— Netlify SPA routing configREADME.md— this guide
Data is stored in Firebase Firestore (free tier). Auth supports Email/Password + Google Sign-In.
-
Go to https://console.firebase.google.com → Add project
-
Enter a project name (e.g.
fete-app) → Continue → Disable Google Analytics (optional) → Create project -
In the left sidebar click Build → Authentication → Get started
- Enable Email/Password
- Enable Google (add your support email when prompted)
-
In the left sidebar click Build → Firestore Database → Create database
- Choose Start in production mode → Next
- Pick a region (e.g.
asia-south1for India) → Enable
-
In the left sidebar click Build → Firestore Database → Rules tab, paste:
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // Users can read/write their own profile match /users/{uid} { allow read, write: if request.auth.uid == uid; } // Events: members can read; organizer can write match /events/{eventId} { allow read: if request.auth.uid in resource.data.members; allow create: if request.auth != null; allow update, delete: if request.auth.uid in resource.data.members && resource.data.teamRoles[request.auth.uid] == 'organizer'; } // Guests: event members can read/write match /guests/{guestId} { allow read, write: if request.auth != null; } // Gifts: event members can read/write match /gifts/{giftId} { allow read, write: if request.auth != null; } } }→ Publish
-
In the left sidebar click Project Overview (gear icon) → Project settings
- Scroll to Your apps → click the </> (Web) icon
- App nickname:
fete-web→ Register app - Copy the
firebaseConfigobject shown
Open index.html and find this section (around line 580):
const firebaseConfig = {
apiKey: "AIzaSyPLACEHOLDER_REPLACE_ME",
authDomain: "your-project.firebaseapp.com",
...
};Replace it with your actual config copied from Firebase. It looks like:
const firebaseConfig = {
apiKey: "AIzaSyABCDEF...",
authDomain: "fete-app-12345.firebaseapp.com",
projectId: "fete-app-12345",
storageBucket: "fete-app-12345.appspot.com",
messagingSenderId: "123456789",
appId: "1:123456789:web:abcdef"
};Option A — Drag & Drop (easiest)
- Go to https://app.netlify.com → Log in / Sign up free
- Click Add new site → Deploy manually
- Drag the entire
fete-appfolder onto the upload area - Done! Netlify gives you a live URL like
https://random-name.netlify.app
Option B — GitHub (for automatic deploys)
- Push this folder to a GitHub repo
- In Netlify: Add new site → Import an existing project → GitHub
- Select your repo → Deploy site
- Every
git pushauto-deploys
After deploying, copy your Netlify URL (e.g. https://fete-app.netlify.app).
In Firebase Console:
- Authentication → Settings → Authorized domains
- Click Add domain → paste your Netlify URL → Add
This is required for Google Sign-In to work on your live site.
- ✅ Email + Google Sign-In (real accounts)
- ✅ Cloud data storage (Firestore) — syncs across devices
- ✅ Real-time updates (guests/gifts update live)
- ✅ Events, Guests, Gifts, Moi, Rooms
- ✅ Role-based access (Organizer / Cash Collector / Room Coordinator)
- ✅ Team collaboration (invite by email)
- ✅ WhatsApp Thank-You messages
- ✅ CSV export
- ✅ Photo upload for gifts (stored as base64)
- ✅ Room assignment & conflict detection
- ✅ Offline-first feel with Firestore caching
- 50,000 reads/day · 20,000 writes/day · 1 GB storage
- More than enough for personal event management