A password-protected project management website for tracking local election and demographic data collection across countries.
- Password protection — gate the entire site behind a shared password
- Dashboard — weekly timeline with add/remove events, and quick links to key documents
- Tracker — country × progress matrix with checkboxes and "Led By" field
- Progress — overall completion stats and per-country pie charts
All data (timeline events, tracker rows) is stored in Firebase Firestore.
- Go to Firebase Console and create a new project
- Add a Web app to the project
- Enable Firestore Database (start in production mode)
- Add the following Firestore security rules:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
In your GitHub repo → Settings → Secrets and variables → Actions, add:
| Secret name | Value |
|---|---|
VITE_FIREBASE_API_KEY |
Firebase API key |
VITE_FIREBASE_AUTH_DOMAIN |
your-project.firebaseapp.com |
VITE_FIREBASE_PROJECT_ID |
Firebase project ID |
VITE_FIREBASE_STORAGE_BUCKET |
your-project.appspot.com |
VITE_FIREBASE_MESSAGING_SENDER_ID |
Messaging sender ID |
VITE_FIREBASE_APP_ID |
App ID |
- Go to Settings → Pages
- Under Source, select GitHub Actions
Push to main — the GitHub Actions workflow will build and deploy to GitHub Pages automatically.
The site will be available at: https://<your-username>.github.io/cleo_mgmt/
cp .env.example .env
# Fill in your Firebase values in .env
npm install
npm run devThe site password is set in src/components/Login.jsx (CORRECT_PASSWORD).