JournalXP is a game-like mental health journaling app that helps users build healthy habits, track their mood, and reflect through daily journaling - all while earning points and leveling up their wellness journey.
Transforming Mindfulness into Empowered Daily Growth
Built with the tools and technologies:
- Daily Journal | Reflect and write freely in a private, secure space.
- AI Companion (Sunday) | Get conversational support and personalized prompts powered by GPT integration.
- Mood Tracker | Record how you feel, and visualize emotional trends over time.
- XP & Levels | Earn XP for journaling, completing tasks, and self-care streaks.
- Habit Tracker | Build healthy habits with streak tracking and XP rewards.
- Task System | Create and complete daily tasks to earn XP and build momentum.
- Rank System | Progress through ranks from Bronze to Diamond as you level up.
- Meditation Room | Learn breathing and grounding techniques, read uplifting quotes, and journal your emotions.
- Weekly Summary | Review mood patterns, XP growth, and reflections.
| Layer | Technology |
|---|---|
| Frontend | React + Vite + TypeScript + TailwindCSS |
| Backend | Firebase Cloud Functions + Express.js + Node.js |
| Database | Firestore |
| Authentication | Firebase Auth |
| Storage | Firebase Cloud Storage |
| Hosting | Firebase Hosting |
| AI Integration | OpenAI API (GPT-4/Sunday AI) |
| CI/CD | Firebase CLI + GitHub Actions |
JournalXP is organized as a monorepo with the following structure:
JournalXP/
βββ frontend/ # React + Vite frontend application
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ features/ # Feature-specific modules
β β βββ pages/ # Route-level components
β β βββ context/ # React contexts (Auth, UserData, etc.)
β β βββ lib/ # Utilities and Firebase config
β βββ package.json
β
βββ functions/ # Firebase Cloud Functions
β βββ src/
β β βββ routes/ # API endpoints
β β βββ middleware/ # Auth and error handling
β β βββ lib/ # Utilities and Firebase Admin
β β βββ scripts/ # Migration and maintenance scripts
β βββ package.json
β
βββ shared/ # Shared TypeScript types and utilities
β βββ types/ # Common type definitions
β βββ utils/ # Shared utility functions
β
βββ backend/ # Legacy standalone server (archival)- frontend/: React SPA using Firebase Web SDK for auth and client-side operations
- functions/: Firebase Cloud Functions hosting a single Express app exported as the
apifunction - shared/: Common TypeScript types and utilities used by both frontend and functions
- π Enhanced security features
- π Light/Dark mode toggle
- π§ββοΈ Advanced meditation/breathing tools
- π± Mobile-first UI improvements
- π Advanced analytics and insights
- π¨ Customizable themes and avatars
- π Internationalization (i18n)
We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines on how to contribute to JournalXP.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test them
- Commit with clear messages:
git commit -m "feat: add amazing feature" - Push to your fork:
git push origin feature/amazing-feature - Open a Pull Request
MIT License. Use it freely, improve it, and spread positivity.