A personal growth companion for journaling, habit tracking, and emotional wellness
Live Demo β’ Features β’ Getting Started β’ Tech Stack
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.
Capture your thoughts with a clean, distraction-free writing experience. Log daily moments, revisit past entries, and build a personal narrative of your journey.
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 |
Gain insights into your patterns with interactive charts and monthly trend analysis.
Build and maintain daily habits with visual progress tracking and streak monitoring.
| 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 |
- Node.js v16 or higher
- npm or yarn
- Firebase account
-
Clone the repository
git clone https://github.com/yourusername/truenorth.git cd truenorth -
Install dependencies
npm install
-
Configure Firebase
- Create a project at Firebase Console
- Enable Firestore Database and Authentication
- Copy your Firebase config credentials
-
Set up environment variables
cp .env.example .env
Edit
.envwith 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
-
Create firebase.js
Copy the example file and it will automatically use your
.envvariables:cp src/firebase.js.example src/firebase.js
-
Start the development server
npm start
Open http://localhost:3000 in your browser.
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;
}
}
}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
| Command | Description |
|---|---|
npm start |
Start development server |
npm run build |
Build for production |
npm test |
Run test suite |
True North supports both dark and light themes using CSS variables, automatically adapting to user preference.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/YourFeature - Commit changes:
git commit -m 'Add YourFeature' - Push to branch:
git push origin feature/YourFeature - Open a Pull Request
This project is licensed under the MIT License.
Made with β€οΈ for personal growth






