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.
This project is built with modern web technologies:
- Vite - Fast, opinionated frontend build tool
- React - UI component library
- TypeScript - Type-safe JavaScript
- React Router - Client-side routing
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Accessible UI components
- Firebase - Authentication and backend services
- Framer Motion - Animation library
- Tanstack Query - Data fetching and state management
- Recharts - Composable charting library
- π 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
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Node.js (v16 or higher)
- npm, yarn, or pnpm
-
Clone the repository:
git clone https://github.com/yourusername/purepath.git cd purepath -
Install dependencies:
npm install # or yarn install # or pnpm install
-
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
-
Create a
.envfile 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-idYou can use the
.env.samplefile as a template. Note: Enable email/pwd authentication in your firebase console. -
Start the development server:
npm run dev # or yarn dev # or pnpm dev
Note: If you have any adblocks running you may have to disable them for the website to load.
- Open your browser and navigate to
http://localhost:8080
npm run build
# or
yarn build
# or
pnpm buildnpm run preview
# or
yarn preview
# or
pnpm buildpurepath/
βββ 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
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