Add Docker support and containerization

- Add Dockerfile for Next.js application
- Configure standalone output for Docker
- Add .dockerignore file
- Add docker-compose.yml for easy deployment
- Update next.config.ts for Docker compatibility
This commit is contained in:
nmemmert committed 2025-10-22 12:42:41 -04:00
1 parent 91d417159d
commit fba1097380
20 files changed
+6085 -253

No files matched your search

+76 -2
View File
@@ -1,8 +1,68 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
# Prayer App
A Progressive Web App (PWA) for journaling prayers and praises, organized by date, with journaling functionality and email reminders.
## Features
- User authentication with Firebase (login and signup)
- Add prayers and praises with date organization
- Journal entries for each prayer
- "Pray For" field to specify a person for each prayer
- Email field auto-populated with user's email for reminders
- Archive prayers instead of deleting them
- View archived prayers with dedicated tab
- Search prayers by content, type, or journal (dedicated Search tab)
- Pagination for large numbers of entries
- Share prayers on social media, email, and text
- Prominent share buttons with visual feedback
- Admin panel for SMTP configuration and user management
- Email notifications (requires configuration)
- Reminder frequency options (daily, weekly, monthly, or never)
- Option to include active prayers summary in reminder emails
- Beautiful HTML-formatted emails with prayer cards and visual styling
- PWA for offline access and installation
- Dark mode theme
- Bottom navigation tabs for easy switching (Add Entry, Active, Archived, Search)
- Engaging loading screen with animations and inspirational content (minimum 5-second display)
- Enhanced bottom navigation with gradients, shadows, and improved touch targets
## Setup
1. Create a Firebase project at https://console.firebase.google.com/
2. Enable Authentication with Email/Password provider
3. Enable Firestore Database
4. Get your Firebase config and replace the placeholder in `src/lib/firebase.ts`
Users can now register accounts directly in the app!
## Admin Setup
Admin access is restricted to specific email addresses. Admins can manage the admin email list directly in the app through the Admin panel.
**To add/remove admin emails:**
1. Log in as an existing admin
2. Click the "Admin" button
3. Scroll to "Admin Email Management" section
4. Add new admin emails or remove existing ones
5. Changes are saved automatically to Firestore
Admin users can access the admin panel by clicking the "Admin" button in the header. From there, they can configure:
- SMTP settings for email sending
- Admin email management
- Other server configurations
The admin panel saves settings to Firestore for persistent configuration.
## Getting Started
First, run the development server:
First, install dependencies:
```bash
npm install
```
Then, run the development server:
```bash
npm run dev
@@ -20,6 +80,20 @@ You can start editing the page by modifying `app/page.tsx`. The page auto-update
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.
## Learn More
To learn more about Next.js, take a look at the following resources: