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
last-commit repo-top-language repo-language-countBuilt with the tools and technologies:
Express JSON Markdown npm Autoprefixer Firebase PostCSS .ENV JavaScript Nodemon GNU%20Bash ReactTypeScript tsnode Zod Vite ESLint OpenAI datefns Sass React%20Hook%20Form YAML React%20Router
- 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.