Skip to content

JournalXP is a gamified mental health journaling app that rewards users with XP for completing self-care tasks, tracking their mood, etc. Built to make mental wellness engaging, reflective, and fun.

License

Notifications You must be signed in to change notification settings

Simpleboi/JournalXP

Repository files navigation

JournalXP🧠

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-count

Built with the tools and technologies:

Express JSON Markdown npm Autoprefixer Firebase PostCSS .ENV JavaScript Nodemon GNU%20Bash React
TypeScript tsnode Zod Vite ESLint OpenAI datefns Sass React%20Hook%20Form YAML React%20Router


πŸ“‹ Table of Contents


🌟 Features

πŸͺž Core Experience

  • 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.

🧩 Tech Stack

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

πŸ“ Project Structure

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)

Key Directories

  • 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 api function
  • shared/: Common TypeScript types and utilities used by both frontend and functions

🌟 Future Features

  • πŸ”’ 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)

πŸ™Œ Contributing

We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines on how to contribute to JournalXP.

Quick Start for Contributors

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and test them
  4. Commit with clear messages: git commit -m "feat: add amazing feature"
  5. Push to your fork: git push origin feature/amazing-feature
  6. Open a Pull Request

License

MIT License. Use it freely, improve it, and spread positivity.

About

JournalXP is a gamified mental health journaling app that rewards users with XP for completing self-care tasks, tracking their mood, etc. Built to make mental wellness engaging, reflective, and fun.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published