เฆฌเฆพเฆเฆฒเฆพเฆฏเฆผ เฆธเงเฆฐเฆพ เฆ เฆจเฆฒเฆพเฆเฆจ เฆถเฆฟเฆเงเฆทเฆพ เฆชเงเฆฒเงเฆฏเฆพเฆเฆซเฆฐเงเฆฎ โ Physics, Chemistry, Math, Biology, Reasoning, GK เฆธเฆน เฆธเฆเฆฒ เฆฌเฆฟเฆทเฆฏเฆผเง เฆเฆจเงเฆเฆพเฆฐเงเฆเงเฆเฆฟเฆญ เฆเงเฆเฆ, เฆจเงเฆ, CBT เฆชเฆฐเงเฆเงเฆทเฆพ เฆเฆฌเฆ AI เฆถเฆฟเฆเงเฆทเฆเฅค
- Interactive Hero Section โ beautifully animated landing page
- Subject-wise Content โ Physics, Chemistry, Math, Biology, Reasoning, GK
- CBT Exam System โ Computer Based Test with timer, navigation & result analysis
- AI Notebook โ smart note taking with markdown support
- AI Teacher Widget โ instant doubt clearing & explanations
- Smart Routine โ personalized study schedule with reminders
- Email / Password sign-up & login
- Google Sign-In (OAuth 2.0)
- Role-based access:
student,admin - Persistent sessions with Firebase Auth
- Leaderboard โ quiz score rankings
- Exam History โ detailed result tracking
- Profile Management โ avatar, name, progress
- Realtime notifications via Supabase
- Class notes, reminders & announcements
- PWA push notification support
- Install as desktop / mobile app
- Offline-ready with Service Worker
- App shortcuts & splash screen
| Layer | Technology |
|---|---|
| Frontend | HTML5, CSS3, JavaScript (ES6+) |
| Styling | Custom CSS, Font Awesome 6, Google Fonts |
| Backend / Auth | Firebase (v8.10.0) โ Auth, Firestore, Messaging |
| Database / Realtime | Supabase โ notifications feed |
| Hosting | Vercel |
| PWA | Service Worker, Web App Manifest |
Study-With-Keshab/
โโโ index.html # Home page
โโโ login.html / signup.html # Authentication pages
โโโ admin.html # Admin dashboard
โโโ profile.html # User profile
โโโ ai-teacher.html # AI Teacher module
โโโ ai-notebook.html # AI Notebook module
โโโ cbt-exam/ # CBT exam module
โ โโโ index.html
โโโ subject/ # Subject-wise chapters & quizzes
โ โโโ Physics/
โ โโโ Chemistry/
โ โโโ Math/
โ โโโ Biology/
โ โโโ chhaya/ # Chhaya Prakashani content
โ โโโ Gk.html
โโโ js/
โ โโโ firebase-config.js # โก Single source of Firebase config
โ โโโ auth.js # Auth logic
โ โโโ navigation.js # Nav & mobile menu
โ โโโ toast.js # Toast notifications
โ โโโ ...
โโโ css/
โ โโโ style.css
โ โโโ navigation.css
โ โโโ cbt-styles.css
โ โโโ ...
โโโ firebase-messaging-sw.js # FCM background handler
โโโ firestore.rules # Firestore security rules
โโโ storage.rules # Storage security rules
โโโ sw.js # PWA service worker
โโโ manifest.json # PWA manifest
โโโ .firebaserc # Firebase project config
โโโ firebase.json # Firebase hosting config
โโโ package.json
- Node.js (v16+)
- Firebase account
- Supabase account (for notifications)
- Vercel CLI (optional, for deployment)
git clone https://github.com/Keshab1997/Study-With-Keshab.git
cd Study-With-Keshab- Go to Firebase Console
- Create a new project (or import existing
study-with-keshab) - Enable Authentication โ Email/Password + Google
- Create Firestore Database in test mode
- Copy your Firebase config:
- Go to Project Settings โ General โ Your apps โ Web app
- Copy
apiKey,authDomain,projectId, etc.
- Update
js/firebase-config.jswith your credentials
Deploy security rules from firestore.rules:
firebase deploy --only firestore:rules- Create a Supabase project
- Create a
notificationstable or use the Edge Function - Update Supabase URL & anon key in notification scripts
Open index.html via Live Server / VS Code Live Preview.
Or use the bundled server:
npm startSingle source of truth for all Firebase credentials. All pages load this file.
A scheduled workflow (.github/workflows/keep-supabase-alive.yml) pings Supabase REST API daily to prevent project pause on free tier.
SUPABASE_URLSUPABASE_ANON_KEY
npm start # Start local server
npm run convert # Convert markdown content to JSON- Push code to GitHub
- Import repo in Vercel
- Deploy โ no build step required (static site)
Important: After deployment, add your Vercel domain to Firebase Console:
- Authentication โ Settings โ Authorized domains
- Add:
your-project.vercel.app
- Users can read/update their own profile
- Quiz scores are read-only for authenticated users
- Only admins can write
class_notes,chapters,notificationQueue - Feedbacks & exam results are user-scoped
Check storage.rules for file upload permissions (profile pics, notes, etc.)
Contributions are welcome! Please:
- Fork the repo
- Create a feature branch
- Commit your changes
- Open a Pull Request
MIT License โ feel free to use this project for learning and building.
Study With Keshab
๐ study-with-keshab.vercel.app
- Firebase & Supabase communities
- Font Awesome for icons
- Google Fonts (Baloo Da 2, Poppins, Hind Siliguri)