Study tracker. Log sessions, track streaks, visualize progress by subject and topic.
npm installCopy the example file and fill in your Firebase project credentials:
cp .env.example .envFind the values in Firebase Console → Project Settings → Your apps → SDK setup → Config.
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=npm install -g firebase-tools
firebase loginfirebase use --addSelect your project from the list. This writes a .firebaserc file at the project root.
firebase deploy --only firestore:indexesThis deploys firestore.indexes.json. Indexes can take a few minutes to build in the Firebase Console. The app will throw errors on topic queries until the topics composite index is active.
firebase deploy --only firestore:rulesThis deploys firestore.rules. Rules take effect immediately.
firebase deploy --only firestorenpm run dev| File | Purpose |
|---|---|
firestore.indexes.json |
Composite index definitions — deploy with Firebase CLI |
firestore.rules |
Security rules — deploy with Firebase CLI |
.env |
Local env vars (not committed) |
.env.example |
Template — commit this, not .env |
See db.md for full schema, index rationale, and query patterns.