A personal gratitude journal web app. Record daily reasons for gratitude, view them on a calendar, and export your entries.
- Google Authentication - Sign in with your Google account to keep your data private and synced across devices
- Calendar View - Monthly calendar with visual indicators (dots) showing how many gratitude items were recorded each day
- Daily Entries - Write one reason per line; entries are saved to Firestore in real-time
- Export to TXT - Select a date range and download a formatted text file with all your entries
- Export via Email - Send your gratitude list to any email address using a mailto link
- Internationalization (i18n) - Automatic language detection (Portuguese and English) based on browser settings
- Dark Theme - Dark UI designed for comfortable daily use
- Responsive Design - Works on desktop and mobile devices
- Email Setup Help - Built-in guide for configuring mailto on Windows (shown only on desktop)
- Vanilla JavaScript (no frameworks)
- Firebase Authentication (Google sign-in)
- Cloud Firestore (database)
- Firebase Hosting (deployment)
- CSS custom properties (dark theme)
index.html Main HTML page
app.js Application logic (I18n, Auth, DB, Calendar, EntryForm, TXTExport, CSVExport, Router)
style.css Styles (dark theme, responsive)
favicon.svg Site icon
firebase-config.js Firebase project configuration
firebase.json Firebase Hosting settings
- Create a Firebase project at console.firebase.google.com
- Enable Google Authentication in the Firebase console
- Create a Cloud Firestore database
- Copy your Firebase config into
firebase-config.js:const firebaseConfig = { /* your config */ }; firebase.initializeApp(firebaseConfig); const auth = firebase.auth(); const db = firebase.firestore();
- Install Firebase CLI and deploy:
npm install -g firebase-tools firebase login firebase deploy --only hosting
firebase deploy --only hosting- Open the app URL in Chrome or Edge.
- Wait for the install banner, then tap Install.
- If no banner appears, open the browser menu and tap Install app or Add to Home screen.
- Confirm the installation.
- Open the app from the home screen.
- Open the app URL in Safari.
- Tap the Share button.
- Tap Add to Home Screen.
- Confirm by tapping Add.
- Open the app from the home screen.
- On iOS, the install option only appears in Safari.
- If the icon looks outdated after a new deploy, remove the app shortcut from the home screen and add it again.