Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

JournalXP is a private, ad-free journaling platform for people who want to understand their mental health, not just track it.

License

Notifications You must be signed in to change notification settings

Natejsx/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 private, ad-free journaling platform for people who want to understand their mental health, not just track it.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /