A Next.js application that combines AI technology with spiritual practices to enhance prayer life and spiritual growth. Built with Firebase, Google AI (Gemini), and modern web technologies.
- 🤖 AI-Powered Prayer Assistance: Intelligent prayer suggestions and spiritual guidance using Google's Gemini AI
- 🔥 Firebase Integration: Secure authentication, real-time database, and cloud storage
- 📱 Progressive Web App: Mobile-optimized experience with offline capabilities
- 🎵 Audio Integration: Prayer walk audio guidance and spiritual music
- 📊 Activity Tracking: Monitor prayer streaks and spiritual growth
- 📝 Journal Integration: Document and reflect on spiritual insights
- 🎨 Modern UI: Beautiful, responsive design with Tailwind CSS and Radix UI
- ✅ Environment variables for sensitive credentials
- ✅ API keys properly secured and not exposed in repository
- ✅ Firebase security rules implementation
- ✅ Secure authentication flow
Before running this application, ensure you have:
- Node.js 18+ installed
- A Firebase project set up
- A Google AI API key (Gemini)
- Git installed
-
Clone the repository:
git clone https://github.com/adewoleeugene/Prayerwalk.git cd Prayerwalk -
Install dependencies:
npm install
-
Environment Configuration:
Copy the example environment file:
cp .env.example .env.local
Fill in your actual values in
.env.local:Firebase Configuration (Get from Firebase Console > Project Settings > General):
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key_here NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id
Google AI Configuration (Get from Google AI Studio):
GOOGLE_AI_API_KEY=your_gemini_api_key_here
-
Create a Firebase Project:
- Go to Firebase Console
- Create a new project
- Enable Authentication, Firestore, and Storage
-
Configure Authentication:
- Enable Email/Password authentication
- Configure authorized domains
-
Set up Firestore:
- Create a Firestore database
- Configure security rules as needed
- Get API Key:
- Visit Google AI Studio
- Create a new API key
- Add it to your
.env.localfile
-
Start the development server:
npm run dev
The app will be available at
http://localhost:3000 -
Start the AI development server (optional):
npm run genkit:dev
-
Build the application:
npm run build
-
Start the production server:
npm start
src/
├── ai/ # AI flows and Genkit configuration
├── app/ # Next.js app router pages
├── components/ # Reusable React components
├── hooks/ # Custom React hooks
└── lib/ # Utility functions and configurations
- Framework: Next.js 15 with App Router
- AI: Google AI (Gemini) with Genkit
- Backend: Firebase (Auth, Firestore, Storage)
- Styling: Tailwind CSS
- UI Components: Radix UI
- State Management: Zustand
- Form Handling: React Hook Form with Zod validation
- TypeScript: Full type safety
- Never commit
.env.local- Contains sensitive credentials - Use environment variables for all API keys and secrets
- Follow Firebase security rules for database access
- Validate all user inputs using Zod schemas
- Implement proper authentication checks
- Fork the repository
- Create a feature branch
- Make your changes
- Ensure all tests pass
- Submit a pull request
This project is licensed under the MIT License.
For support or questions, please open an issue on GitHub.
.env.local file or expose your API keys. The .env.example file is provided as a template with placeholder values only.