Next.js App Deployment & Enhancement

Job ID: 39648102

Budget: €30 – €250 EUR

1. Project Setup & Deployment
• Review current state of the Next.js app.
• Prepare app for production (optimize build, remove debug code).
• Configure for deployment via cPanel:
◦ Ensure compatibility (via Node.js App Manager or custom deployment).
◦ Setup .htaccess, proxy, and port forwarding if needed.
◦ Upload app and dependencies.
• Set up environment variables securely on the hosting environment.
• Test deployment and confirm it's accessible like the preview version.

2. Database Configuration & Testing
• Connect to production-ready database .
• Verify that all required databases exist and are connected:
◦ users
◦ confidants (zaupniki)
◦ goodbye_messages (encrypted)
◦ recipients (prejemniki)
◦ scraped_obituaries (temporary)
• Ensure all relationships (e.g., user → confidants → goodbye message → recipients) are properly structured.
• Write test data and confirm full DB functionality.
• Test CRUD operations for all entities.

3. User Account Functionality
• Test and complete the user registration & login system.
• Allow users to:
◦ Add/edit multiple confidants.
◦ Write encrypted goodbye messages.
◦ Assign recipients (prejemniki) to each goodbye message.
• Implement frontend warning & preview before sending confirmation email to confidants.
• Send email to confidant to confirm their role (must accept).
• Allow users to:
◦ Edit/delete goodbye messages.
◦ View their subscription status.
◦ Upload limited data according to their plan.

4. Payment System Integration
• Test/Implement monthly and yearly subscriptions (Stripe, PayPal, or other).
• Restrict features based on subscription:
◦ Non-paying users can’t edit messages, but can delete them.
◦ Graceful message to user explaining this limitation.
• Setup recurring billing and webhook support for subscription updates.
• Add email notification for payment failure/reminder.

5. Obituary Scraper System
• Test a scraper that checks obituaries (osmrtnice) once or twice a day.
◦ No need to save data permanently.
◦ Match scraped names with registered users.
• If match found:
◦ Trigger friendly confirmation email to selected confidant.
• If confidant confirms event → trigger message handling logic.
6. Encryption & Security
• Encrypt all goodbye messages (at rest).
• Ensure proper hashing for user passwords.
• Sanitize user inputs to prevent SQL injection/XSS.
• Use HTTPS and secure cookies for all transmissions.
• Restrict access to admin backend securely.

7. Admin Dashboard Features
• View metrics (total users, active subscriptions, sent messages, etc.).
• Provide manual control (deactivate, reset, assist user accounts).
• Review messages (where allowed), troubleshoot support requests.
• Manage scraper behavior (e.g., frequency, logs).
• Monitor email delivery status (optional: dashboard for email events).

8. Testing & Final QA
• Test entire user flow:
◦ Register → Set up confidant → Write message → Add recipients → Subscription Goodbye message handling.
• Test all edge cases (expired payment, unconfirmed confidant, unmatched obituary).
• Confirm correct email sending and formatting.
• Mobile and desktop responsiveness.
• Run performance and load tests.
• Confirm GDPR compliance (data deletion, encryption, opt-outs).