129 lines
3.4 KiB
Markdown
129 lines
3.4 KiB
Markdown
# Haver — Prayer App
|
|
|
|
A minimalist PWA for journaling prayers and tracking answered prayers. Built with Next.js, Firebase, and Tailwind.
|
|
|
|
Current Version: 0.2.0
|
|
|
|
## What's New (0.2.0)
|
|
- Redesign: unified dark theme and gradients
|
|
- Icons: lucide-react across headings and nav
|
|
- Cleanup: removed legacy email routes and pages
|
|
- UX: Pray For suggestions in compose tab
|
|
|
|
## Features
|
|
- Firebase auth (login)
|
|
- Compose daily prayer with date and optional "Pray For"
|
|
- Suggested "Pray For" names via dropdown (type to add new)
|
|
- Mark prayers as answered with details
|
|
- Calendar view of entries
|
|
- Reflections list with search and filters
|
|
- Answered prayers gallery
|
|
- Reminder banner + notification time settings
|
|
- PWA installable; dark theme by default
|
|
|
|
## Versioning Policy
|
|
- Uses semantic versioning: major.minor
|
|
- Minor: UI/UX tweaks, non-breaking features
|
|
- Major: structural changes or breaking updates
|
|
|
|
## Setup
|
|
1. Create a Firebase project (Authentication + Firestore)
|
|
2. Add your Firebase config to [src/lib/firebase.ts](src/lib/firebase.ts)
|
|
3. Start the dev server
|
|
|
|
## Notes
|
|
- Email sending routes have been removed in the redesign.
|
|
- Email verification remains available via Firebase.
|
|
|
|
## Firestore Rules
|
|
Deploy [firestore.rules](firestore.rules) to secure user data.
|
|
|
|
## Development
|
|
- `npm run dev` — start dev server
|
|
- `npm run build` — production build
|
|
- `npm run lint` — lint code
|
|
- `npm test` — run tests
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
1. **Firebase Configuration**: Ensure all Firebase config values are correctly set in `src/lib/firebase.ts`.
|
|
|
|
2. **SMTP Settings**: Verify SMTP credentials in the Admin panel. Use app passwords for Gmail.
|
|
|
|
3. **PWA Installation**: Clear browser cache if PWA doesn't install properly.
|
|
|
|
4. **Email Reminders**: Check Firestore security rules and ensure SMTP is configured.
|
|
|
|
### Development
|
|
|
|
- Run `npm run dev` for development server
|
|
- Run `npm run build` for production build
|
|
- Run `npm run lint` for code linting
|
|
- Run `npm test` for running tests
|
|
|
|
## Usage
|
|
- Compose: write your prayer, pick a date, and optionally select or type a "Pray For" name.
|
|
- Praying: mark prayers as prayed today.
|
|
- Calendar: click a day to view/edit its entry.
|
|
- Reflections: search and filter past prayers.
|
|
- Answered: review answered prayers with details.
|
|
- About: set reminder time, test notifications, and read "What's New".
|
|
|
|
## Getting Started
|
|
|
|
## Build & Deploy
|
|
```bash
|
|
npm run build
|
|
```
|
|
Deploy to Vercel or your preferred platform.
|
|
|
|
## Getting Started
|
|
|
|
First, install dependencies:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
Then, run the development server:
|
|
|
|
```bash
|
|
npm run dev
|
|
# or
|
|
yarn dev
|
|
# or
|
|
pnpm dev
|
|
# or
|
|
bun dev
|
|
```
|
|
|
|
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
|
|
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
|
|
|
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
|
|
|
|
## Configuration
|
|
|
|
For email reminders, configure SMTP settings in `src/app/api/send-email/route.ts`.
|
|
|
|
## Build
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
## Deploy
|
|
|
|
Deploy to Vercel or any platform supporting Next.js PWAs.
|
|
|
|
## Docker (optional)
|
|
Basic containerization is available. Remove or adapt scripts as needed.
|
|
|
|
## Learn More
|
|
- [Next.js Documentation](https://nextjs.org/docs)
|
|
- [Tailwind CSS](https://tailwindcss.com/docs)
|
|
```
|