Skip to content

Debugging-Disciples/PurePath-App

Repository files navigation

PurePath

PurePath is a web application designed to help users break free from unwanted habits like PMO and build a life of purpose through community support, guided meditations, and progress tracking.

Tech Stack

This project is built with modern web technologies:

Features

  • 🔒 User Authentication: Secure login and account management
  • 📈 Habit Tracking: Monitor your progress with streak tracking and daily check-ins
  • Daily Tasks: Complete guided activities to stay on track and build positive habits
  • 🧘 Mindfulness Resources: Access specialized meditations, breathing exercises, and visualizations
  • 📝 Journal: Document your journey with guided prompts and reflections
  • 🌊 Urge Management: Tools like "urge surfing" to navigate difficult moments
  • 🌍 Community Support: Connect with others on the same journey through chat and global map
  • 📊 Visual Analytics: Track your progress with detailed statistics and charts
  • 🆘 Emergency Support: Get immediate help during moments of weakness
  • 📱 Responsive Design: Seamlessly use the app across all devices
  • 🎯 Daily Scripture: Find inspiration in daily Bible verses
  • 🔄 Customizable Dashboard: Personalize your experience with the tools you need most

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm, yarn, or pnpm

Installation

  1. Clone the repository:

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

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Configure Firebase:

    • Create a Firebase project at Firebase Console
    • Enable Authentication and Firestore
    • Create a web app in your Firebase project
    • Copy the configuration values from your Firebase project settings
  4. Create a .env file in the root directory with your Firebase configuration:

    VITE_FIREBASE_API_KEY=your-firebase-api-key
    VITE_FIREBASE_AUTH_DOMAIN=your-firebase-auth-domain
    VITE_FIREBASE_PROJECT_ID=your-firebase-project-id
    VITE_FIREBASE_STORAGE_BUCKET=your-firebase-storage-bucket
    VITE_FIREBASE_MESSAGING_SENDER_ID=your-firebase-messaging-sender-id
    VITE_FIREBASE_APP_ID=your-firebase-app-id
    VITE_FIREBASE_MEASUREMENT_ID=your-firebase-measurement-id
    

    You can use the .env.sample file as a template. Note: Enable email/pwd authentication in your firebase console.

  5. Start the development server:

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  6. Open your browser and navigate to http://localhost:8080

Building for Production

npm run build
# or
yarn build
# or
pnpm build

Project Structure

purepath/
├── public/             # Static assets
├── src/
│   ├── components/     # Reusable UI components
│   │   └── ui/         # shadcn/ui components
│   ├── hooks/          # Custom React hooks
│   ├── lib/            # Utility functions
│   ├── pages/          # Page components
│   ├── utils/          # Helper functions and Firebase setup
│   ├── App.tsx         # Main App component with routing
│   └── main.tsx        # Entry point
├── .env.sample         # Sample environment variables
└── README.md           # Project documentation

Authentication

This application uses Firebase Authentication for user management. Users can:

  • Register with email and password
  • Log in with existing credentials
  • Access protected routes (dashboard, profile, etc.)
  • Admin users have access to additional