Modern Productivity & Focus Management Platform
Track tasks โข Build habits โข Manage time โข Visualize growth
Features โข Quick Start โข Firebase Setup โข Tech Stack
Grovity is a comprehensive productivity platform designed to help users stay focused, track daily tasks, build positive habits, and monitor growth through visual analytics.
Features a clean, responsive interface with light/dark mode support, real-time synchronization across all pages, and cloud-based data persistence powered by Firebase Firestore.
- Strict Firebase security posture (deny-by-default, user-scoped docs)
- Authorized domains and API key restriction workflow
- Firebase App Check integration and enforcement readiness
- Centralized auth guard utility (
auth-guard.js) - Startup health check page (
health.html+health.js) - CI baseline with HTML/JS checks and Playwright smoke tests
- Rate-limited Firestore write paths for sensitive mutations
- Reduced localStorage dependence for identity/session-derived UI state
- Incident logging hooks for auth/bootstrap/firestore failures with buffered fallback
- Create, edit, and delete tasks with priority levels
- Mark tasks as current focus
- Real-time task completion tracking
- Task statistics and progress visualization
- Cloud sync โ Access tasks from any device
- Customizable Pomodoro-style timer (5, 10, 15, 25, 50 minutes)
- Background timer synchronization across all pages
- Session tracking and completion statistics
- Visual progress indicators
- Cross-device sync โ Continue timers on any device
- Track good habits and habits to avoid
- Daily habit completion monitoring
- Separate lists for positive and negative habits
- Progress tracking with visual feedback
- Cloud persistence โ Never lose your habit streaks
- Interactive "Focus Garden" with growing tree animation
- Visual representation of productivity growth
- Session-based progress stages
- Weekly task completion charts
- Monthly calendar view with daily task counts
- Achievement badges:
- Streak Master
- Task Champion
- Time Master
- Habit Builder
- Consistency King
- Real-time statistics:
- Total tasks
- Total sessions
- Focus time
- Average duration
- Personal notes section with character counter
- Light/Dark mode toggle
- Fully responsive design (mobile, tablet, desktop)
- Real-time cross-page synchronization
- Google OAuth authentication
- Cloud-based data persistence
- Clean, modern UI with smooth transitions
- HTML5 โ Semantic markup structure
- Tailwind CSS โ Utility-first CSS framework (via CDN)
- Vanilla JavaScript โ No framework dependencies
- Font Awesome 6.5.0 โ Icon library
- Firebase Authentication โ Google OAuth sign-in
- Firebase Firestore โ Cloud-based NoSQL database
- Firebase Compat SDK v11.0.0 โ Client-side integration
- Modular JavaScript โ Separated into logical modules:
config-loader.jsโ Firebase configuration managementfirebase-init-secure.jsโ Firebase initializationfirestore-db.jsโ Firestore API wrappersync.jsโ Global synchronization engineindex.jsโ Homepage and authenticationworkspace.jsโ Task, habit, and timer managementdashboard.jsโ Analytics and statisticstheme-system.jsโ Light/dark mode handling
- Event-driven โ Custom events for real-time updates
- Cloud-based โ All data persists in Firestore, synced across devices
Firestore Collections:
users/{userId}/
โโโ tasks/all-tasks # Task list with metadata
โโโ habits/all-habits # Good habits and habits to avoid
โโโ habit-progress/{date} # Daily habit completion tracking
โโโ notes/user-notes # Dashboard notes
LocalStorage (Fallback):
grovity_themeโ Theme preference (light/dark)- Local backup of tasks and notes for offline access
Grovity/
โโโ index.html # Landing page & authentication
โโโ login.html # Login page
โโโ signup.html # Registration page
โโโ workspace.html # Main workspace (tasks, habits, timer)
โโโ dashboard.html # Analytics & statistics
โโโ theme-system.css # Theme variables and styling
โโโ theme-system.js # Theme toggle functionality
โโโ .env.local # Firebase credentials (local dev)
โโโ .env.local.example # Example environment variables
โโโ package.json # Project metadata
โโโ src/
โ โโโ js/
โ โ โโโ config-loader.js # Firebase configuration
โ โ โโโ firebase-init-secure.js # Firebase initialization
โ โ โโโ firestore-db.js # Firestore database service
โ โ โโโ sync.js # Synchronization engine
โ โ โโโ index.js # Homepage logic
โ โ โโโ workspace.js # Workspace functionality
โ โ โโโ dashboard.js # Dashboard logic
โ โโโ input.css # Tailwind CSS input file
โโโ dist/
โโโ output.css # Compiled Tailwind CSS (generated)
- Modern web browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+)
- Local web server (for development)
- Firebase project (for authentication and database)
1. Clone or download the project
git clone https://github.com/LegendarySumit/grovity.git
cd Grovity2. Configure Firebase (see Firebase Setup below)
3. Open in browser
Option A: Direct open
- Simply open
index.htmlin your browser
Option B: Local server (recommended)
# Using Python
python -m http.server 5000
# Using Node.js (http-server)
npx http-server
# Using VS Code Live Server
Right-click index.html > Open with Live Server4. Access the application
http://localhost:5000
5. Get started
- Click "Sign up with Google"
- Grant permissions
- Start tracking your productivity!
Use the startup health page to verify Firebase runtime readiness before public releases:
- Open
health.html - Validate config presence, Firebase bootstrap, auth readiness, and Firestore reachability
- Re-run checks after changing env/config or App Check settings
Minimal CI checks now cover HTML, JavaScript syntax, and top-level navigation smoke tests.
npm run check:html
npm run check:js
npm run test:smokeRun all checks locally:
npm run ciRecent P2 hardening includes:
- Write-rate limits in
firestore-db.jsfor task, habit, progress, and notes mutation paths - Reduced identity/session reliance on localStorage by moving auth redirect and user cache flows into session-oriented guard logic
- Incident logging hooks for auth/bootstrap/firestore failures with buffered fallback and optional remote flush when auth + Firestore are available
- Go to Firebase Console
- Click "Create a project"
- Enter project name (e.g., "Grovity")
- Follow the setup wizard
- In Firebase Console โ Authentication
- Click "Get Started"
- Go to "Sign-in method" tab
- Enable Google provider
- Add your authorized domains
- In Firebase Console โ Build โ Firestore Database
- Click "Create Database"
- Start in Test mode (update rules for production later)
- Choose Firestore location
Use the production rules file in this repo:
firebase/firestore.rules
Deploy with Firebase CLI:
firebase deploy --only firestore:rules,storage:rulesrules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
match /{document=**} {
allow read, write: if request.auth.uid == userId;
}
}
match /{document=**} {
allow read, write: if false;
}
}
}- Firebase Console โ Project Settings (โ๏ธ icon)
- Scroll to "Your apps" section
- Click "</> Web" to add a web app
- Copy the Firebase config object
- Update
src/js/config-loader.js:
const firebaseConfig = {
'fb_api_key': 'YOUR_API_KEY',
'fb_auth_domain': 'YOUR_AUTH_DOMAIN',
'fb_project_id': 'YOUR_PROJECT_ID',
'fb_storage_bucket': 'YOUR_STORAGE_BUCKET',
'fb_messaging_sender_id': 'YOUR_MESSAGING_SENDER_ID',
'fb_app_id': 'YOUR_APP_ID'
};- Firebase Console โ Build โ App Check
- Register your web app with reCAPTCHA v3
- Copy the site key
- Set it in runtime config as
fb_appcheck_site_key
For full P0 launch hardening steps (domains, API restrictions, App Check enforcement), see:
docs/security/firebase-p0-launch-checklist.md
- Sign Up โ Create account using Google OAuth
- Grant Permissions โ Allow Grovity to access your Google account
- Access Workspace โ Start adding tasks and habits
- Start Timer โ Focus on tasks with built-in timer
- Track Progress โ View analytics on dashboard
- Google OAuth โ Secure login with Google account
- Session Persistence โ Automatically login on return visits
- Automatic Sign-Out โ Logout clears session data safely
- Cross-Device Sync โ Same profile across all devices
- Navigate to Workspace
- Enter task name in input field
- Click "Add Task" or press Enter
- Mark complete by checking checkbox
- Click star icon to set as current focus
- Delete tasks using trash icon
- Cloud sync โ Changes save automatically
- Set a task as current focus
- Select time duration (5, 10, 15, 25, or 50 minutes)
- Click "Start Timer"
- Timer syncs across all pages and devices
- Receive notification when time is up
- Add good habits (e.g., "Drink 8 glasses of water")
- Add habits to avoid (e.g., "Checking social media")
- Check habits as completed throughout the day
- Track progress daily across all devices
- Navigate to Dashboard
- View weekly task completion chart
- Check monthly calendar for daily summaries
- Monitor achievements and streaks
- Review total statistics
If you need to modify styles:
# Install dependencies
npm install
# Build CSS
npm run build:css- Custom event system (
grovity-focus-update,grovity-stats-update) - Firestore real-time listeners for instant updates
- Background timer intervals on all pages
- Prevents timer freezing when switching pages or devices
- CSS custom properties for dynamic theming
- Persistent theme preference in localStorage
- Smooth transitions between light/dark modes
- Comprehensive color palette for both themes
- Cloud Storage โ Primary data stored in Firebase Firestore
- Real-time Sync โ Changes sync across all devices automatically
- Automatic Save โ Data saved instantly when created or modified
- Secure โ Google OAuth authentication, Firestore security rules
- Privacy โ Cloud-encrypted with user-specific data isolation
- Offline Support โ Local cache fallback to localStorage
โ
Lightweight โ No heavy frameworks, minimal dependencies
โ
Fast Loading โ Optimized assets and code splitting
โ
Cloud Sync โ Real-time updates across all devices
โ
Offline Capable โ Local cache for offline access
โ
Sub-second Updates โ Firestore real-time listeners
| Browser | Minimum Version |
|---|---|
| Chrome | 90+ |
| Firefox | 88+ |
| Safari | 14+ |
| Edge | 90+ |
- โ
Cloud synchronization across devices(Implemented) - โ
Google OAuth authentication(Implemented) - Data export/import functionality
- Advanced analytics and insights
- Team collaboration features
- Mobile app versions (iOS/Android)
- Integration with calendar apps
- Pomodoro technique variations
- Offline-first PWA support
- Custom theme colors
This project is proprietary. All rights reserved.
LegendarySumit
- GitHub: @LegendarySumit
- Project: Grovity
Developer: LegendarySumit
Last Updated: March 2026
Powered by: Firebase & Firestore
๐ฑ Built with โค๏ธ for productivity enthusiasts
Stay focused โข Build habits โข Track growth โข Sync across devices
โญ Star this repo if you find it helpful!
โ๏ธ Now with Firebase Cloud Sync & Google OAuth