Skip to content

A personal growth companion app built with React and Firebase, True North offers integrated journaling, a multi-tracker system, and visualized emotional wellness monitoring.

License

Notifications You must be signed in to change notification settings

roguekishore/True-North

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧭 True North

A personal growth companion for journaling, habit tracking, and emotional wellness

Live Demo β€’ Features β€’ Getting Started β€’ Tech Stack


True North Dashboard

πŸ“‹ Overview

True North is a comprehensive personal wellness application designed to help you track your daily habits, journal your thoughts, and monitor emotional well-being patterns over time. Built with React and Firebase, it offers a seamless, responsive experience across all devices.


✨ Features

πŸ““ Journaling

Capture your thoughts with a clean, distraction-free writing experience. Log daily moments, revisit past entries, and build a personal narrative of your journey.

Journal Feature

Daily Moments

Entry History


πŸ“Š Multi-Tracker System

Track various aspects of your daily life with a flexible, customizable tracking system:

Tracker Description
🌞 Day Rating Rate your overall day experience
😴 Sleep Quality Monitor nightly sleep patterns
😰 Anxiety Level Track anxiety intensity
πŸ˜“ Stress Level Log daily stress levels
πŸ“± Screen Time Record hours spent on screens
😊 Mood Capture your emotional state
⚑ Energy Track daily energy levels
πŸ“‹ Discipline Measure consistency with goals
πŸ’­ Thoughts Monitor intrusive thought patterns

Tracker System


πŸ“ˆ Analytics & Visualization

Gain insights into your patterns with interactive charts and monthly trend analysis.

Analytics Dashboard

Trend Analysis


βœ… Habit Tracker

Build and maintain daily habits with visual progress tracking and streak monitoring.

Habit Tracker


πŸ› οΈ Tech Stack

Category Technologies
Frontend React 18, React Router v7
State Management Redux Toolkit
Backend Firebase (Firestore, Authentication)
Visualization Chart.js, Recharts
Styling CSS with CSS Variables (Dark/Light theme)
Icons React Icons

πŸš€ Getting Started

Prerequisites

  • Node.js v16 or higher
  • npm or yarn
  • Firebase account

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/truenorth.git
    cd truenorth
  2. Install dependencies

    npm install
  3. Configure Firebase

    • Create a project at Firebase Console
    • Enable Firestore Database and Authentication
    • Copy your Firebase config credentials
  4. Set up environment variables

    cp .env.example .env

    Edit .env with your Firebase credentials:

    REACT_APP_FIREBASE_API_KEY=your_api_key
    REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
    REACT_APP_FIREBASE_PROJECT_ID=your_project_id
    REACT_APP_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
    REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
    REACT_APP_FIREBASE_APP_ID=your_app_id
    REACT_APP_FIREBASE_MEASUREMENT_ID=your_measurement_id
  5. Create firebase.js

    Copy the example file and it will automatically use your .env variables:

    cp src/firebase.js.example src/firebase.js
  6. Start the development server

    npm start

    Open http://localhost:3000 in your browser.


πŸ”’ Firebase Security Rules

Configure Firestore rules to protect user data:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId}/{document=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
    
    match /journal_entries/{entryId} {
      allow read, write: if request.auth != null;
    }
  }
}

πŸ“ Project Structure

src/
β”œβ”€β”€ components/          # React components
β”‚   β”œβ”€β”€ Home.js          # Landing page
β”‚   β”œβ”€β”€ Journal.js       # Journal entries
β”‚   β”œβ”€β”€ HabitTracker.js  # Habit tracking
β”‚   └── Login.js         # Authentication
β”œβ”€β”€ trackers/            # Tracker system
β”‚   β”œβ”€β”€ UnifiedTracker.js
β”‚   └── trackerConfig.js
β”œβ”€β”€ context/             # React context (Auth)
β”œβ”€β”€ utils/               # Utility functions
β”‚   β”œβ”€β”€ firestore.js     # Firestore operations
β”‚   β”œβ”€β”€ localCache.js    # Local caching
β”‚   └── dataSync.js      # Data synchronization
β”œβ”€β”€ css/                 # Stylesheets
└── App.js               # Main app component

πŸ“¦ Scripts

Command Description
npm start Start development server
npm run build Build for production
npm test Run test suite

🎨 Theming

True North supports both dark and light themes using CSS variables, automatically adapting to user preference.


🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/YourFeature
  3. Commit changes: git commit -m 'Add YourFeature'
  4. Push to branch: git push origin feature/YourFeature
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.


πŸ™ Acknowledgments


Made with ❀️ for personal growth

About

A personal growth companion app built with React and Firebase, True North offers integrated journaling, a multi-tracker system, and visualized emotional wellness monitoring.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published