@titas_mallick/wedding-site-gen 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +117 -69
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,98 +1,146 @@
1
- # 💍 Wedding Website Generator v2.0
1
+ # 💍 Wedding Website Generator v2.0 (AI-Powered)
2
2
 
3
- > **Empower your wedding with AI.** Transform your special day into a digital masterpiece with an interactive invitation, AI-powered concierge, and real-time guest engagement.
3
+ Transform your wedding journey with a sophisticated, AI-driven digital experience. This generator scaffolds a production-ready Next.js application featuring an AI concierge, digital guestbook, real-time song requests, and automated guest reminders.
4
4
 
5
5
  ---
6
6
 
7
- ## 🚀 The A-B-C Quick Start
7
+ ## 🚀 Phase 1: Generation (The A-B-C Guide)
8
8
 
9
- ### Step A: Generate Your Codebase
10
- Open your terminal and run the following command to scaffold your project:
9
+ ### Step A: Initialize Your Project
10
+ Run the following command in your terminal to start the interactive setup:
11
11
  ```bash
12
12
  npx @titas_mallick/wedding-site-gen
13
13
  ```
14
- *The CLI will guide you through couple names, wedding dates, and theme selection.*
15
-
16
- ### Step B: Infrastructure & Environment
17
- 1. **Navigate & Install**:
18
- ```bash
19
- cd your-wedding-folder
20
- npm install
21
- ```
22
- 2. **Firebase Setup**:
23
- - Create a project at [Firebase Console](https://console.firebase.google.com/).
24
- - Enable **Firestore** and **Authentication** (Email/Password).
25
- - Copy the `firestore.rules` file content from your project into the Firebase console.
26
- 3. **Configuration**:
27
- - Rename `.env.example` to `.env.local` (or create a new one).
28
- - Fill in your Firebase keys, Gemini API key, and Cloudinary credentials.
29
-
30
- ### Step C: Asset Personalization
31
- This is where the magic happens. Replace the placeholders in the `public/` directory with your own files.
14
+
15
+ ### Step B: CLI Prompt Reference
16
+ The generator will ask you several questions. Here is how to answer them:
17
+
18
+ | Prompt | Example Input | Purpose |
19
+ | :--- | :--- | :--- |
20
+ | **Groom's First Name** | `Titas` | Used for URLs and short mentions. |
21
+ | **Groom's Full Name** | `Titas Mallick` | Used in official bio and certificate pages. |
22
+ | **Bride's First Name** | `Sukanya` | Used for URLs and short mentions. |
23
+ | **Bride's Full Name** | `Sukanya Saha` | Used in official bio and certificate pages. |
24
+ | **Wedding Date** | `January 23, 2026` | Displayed text on the countdown and hero. |
25
+ | **Wedding Date ISO** | `2026-01-23` | Powers the technical countdown logic. |
26
+ | **Admin Email** | `admin@wedding.com` | **CRITICAL**: Log in with this email to manage content. |
27
+ | **UPI ID** | `wedding@okaxis` | Used for the "Sagun" (Gift) QR code generator. |
28
+ | **Website URL** | `https://our-wedding.com` | Used for email links and SEO. |
29
+ | **Wedding Hashtag** | `#TitasWedsSukanya` | Displayed across the site. |
30
+ | **Visual Theme** | `1` (Pink & Gold) | Sets the primary color palette (Pink, Blue, Green, or Red). |
31
+ | **Target Directory** | `my-wedding` | The name of the folder where code will be saved. |
32
32
 
33
33
  ---
34
34
 
35
- ## 🎨 Asset Mapping (Photo & Media Guide)
35
+ ## 🛠️ Phase 2: Infrastructure Setup
36
+
37
+ ### 1. Firebase (Database & Auth)
38
+ 1. Go to the [Firebase Console](https://console.firebase.google.com/).
39
+ 2. **Create a Project**: Give it a name (e.g., `wedding-project`).
40
+ 3. **Authentication**: Enable "Email/Password" provider in the Auth tab.
41
+ 4. **Firestore**: Create a Database in "Production Mode".
42
+ 5. **Project Settings**:
43
+ - Click the **Web Icon (</>)** to register a web app. Copy the `firebaseConfig` keys for your `.env.local`.
44
+ - Go to **Service Accounts** > **Generate New Private Key**. This downloads a JSON file. Use these values for the `FIREBASE_ADMIN` variables.
45
+
46
+ ### 2. Firestore Security Rules
47
+ Copy the following into the **Rules** tab of your Firestore console to allow guests to post wishes/songs while keeping admin functions secure:
48
+
49
+ ```javascript
50
+ rules_version = '2';
51
+ service cloud.firestore {
52
+ match /databases/{database}/documents {
53
+ match /wishes/{wishId} { allow read, write: if true; }
54
+ match /song_requests/{requestId} { allow read, write: if true; }
55
+ match /guestbook/{entryId} { allow read, write: if true; }
56
+ match /rsvps/{rsvpId} { allow read, write: if true; }
57
+ match /email-reminders/{reminderId} {
58
+ allow read: if true;
59
+ allow write: if request.auth != null;
60
+ }
61
+ match /{document=**} {
62
+ allow read: if true;
63
+ allow write: if request.auth != null;
64
+ }
65
+ }
66
+ }
67
+ ```
36
68
 
37
- To ensure the site looks perfect, replace these files but **keep the filenames exactly the same**.
69
+ ### 3. Cloudinary (Guestbook Uploads)
70
+ 1. Sign up at [Cloudinary](https://cloudinary.com/).
71
+ 2. In the **Dashboard**, copy your `Cloud Name`.
72
+ 3. Go to **Settings** > **Upload** > **Upload Presets** and create a new preset named `wedding` with "Unsigned" signing mode.
38
73
 
39
- ### 📸 Core Portraits (`/public/`)
40
- | Filename | Purpose | Recommended Aspect Ratio |
41
- | :--- | :--- | :--- |
42
- | `bride.jpg` | Main profile photo of the Bride. | 3:4 (Portrait) |
43
- | `groom.jpg` | Main profile photo of the Groom. | 3:4 (Portrait) |
44
- | `love-birds.png` | Avatar for the AI Chatbot. | 1:1 (Square) |
45
- | `qr.png` | UPI Payment QR code for gifts. | 1:1 (Square) |
46
-
47
- ### 🗓️ Milestone Timeline (`/public/Images/`)
48
- These images appear on the **"Mark the Dates"** timeline.
49
- - `19.jpg`: The Proposal Milestone.
50
- - `Patipatra.jpeg`: The Date-Fixing/Traditional Ceremony.
51
- - `22.jpg`: The Engagement Milestone.
52
- - `21.jpg`: The Wedding Day Milestone.
53
- - `20.jpg`: The Reception Milestone.
54
-
55
- ### 🏔️ Pre-Wedding & Memories Gallery
56
- The **"Memories"** page is designed to showcase your journey.
57
- - **Bulk Uploads**: Place all your pre-wedding shoot photos in `/public/Images/`.
58
- - **Naming**: Use descriptive names or simply number them. The gallery will automatically generate a beautiful masonry layout for all images found in this directory.
74
+ ### 4. Resend (Email Automation)
75
+ 1. Sign up at [Resend.com](https://resend.com/).
76
+ 2. Generate an **API Key** and add it to `.env.local`.
59
77
 
60
78
  ---
61
79
 
62
- ## 🤖 Advanced AI Features
80
+ ## 🔐 Phase 3: Environment Configuration
63
81
 
64
- ### 1. The Wedding Concierge (Gemini 2.5)
65
- Guests can chat with an AI assistant trained on your wedding data.
66
- - **Setup**: Provide your `NEXT_PUBLIC_GEMINI_API_KEY` in `.env.local`.
67
- - **Knowledge**: The bot automatically knows your venues, dates, and story based on the info you provided during Step A.
82
+ Create a `.env.local` file in your generated project root and populate it:
68
83
 
69
- ### 2. Automated Email Reminders
70
- Send beautiful, automated reminders to your guest list.
71
- - **Endpoint**: `YOUR_SITE_URL/api/email-reminders`
72
- - **Auth**: Requires `Authorization: Bearer [YOUR_CRON_SECRET]`.
73
- - **Cron Suggestion**: `0 10 10-26 1 *` (Runs daily at 10 AM during the wedding month).
84
+ ```bash
85
+ # --- Firebase Client ---
86
+ NEXT_PUBLIC_APIKEY=AIza...
87
+ NEXT_PUBLIC_AUTHDOMAIN=your-project.firebaseapp.com
88
+ NEXT_PUBLIC_PROJECTID=your-project
89
+ NEXT_PUBLIC_STORAGEBUCKET=your-project.firebasestorage.app
90
+ NEXT_PUBLIC_SENDERID=...
91
+ NEXT_PUBLIC_APPID=...
92
+ NEXT_PUBLIC_RECAPTCHA_SITE_KEY=...
93
+
94
+ # --- Firebase Admin (Secrets) ---
95
+ FIREBASE_ADMIN_PROJECT_ID=your-project
96
+ FIREBASE_ADMIN_PRIVATE_KEY_ID=...
97
+ FIREBASE_ADMIN_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
98
+ FIREBASE_ADMIN_CLIENT_EMAIL=firebase-adminsdk-...
99
+ FIREBASE_ADMIN_CLIENT_ID=...
100
+
101
+ # --- AI & Content ---
102
+ NEXT_PUBLIC_GEMINI_API_KEY=AIza... # Get from Google AI Studio
103
+ NEXT_PUBLIC_ADMIN_EMAIL=your-email@gmail.com # Must match login for admin powers
104
+
105
+ # --- Media & Email ---
106
+ NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=...
107
+ NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=wedding
108
+ RESEND_API_KEY=re_...
109
+ CRON_SECRET=a-secure-random-string
110
+ ```
74
111
 
75
112
  ---
76
113
 
77
- ## ⚙️ Environment Variables Checklist
114
+ ## 🎨 Phase 4: Asset Personalization
115
+
116
+ Replace the files in `/public/` keeping the exact filenames:
78
117
 
79
- | Key | Description |
80
- | :--- | :--- |
81
- | `NEXT_PUBLIC_ADMIN_EMAIL` | The email that has "Super User" powers (delete photos/songs). |
82
- | `NEXT_PUBLIC_GEMINI_API_KEY` | Powers the Concierge and the AI Wish Summarizer. |
83
- | `RESEND_API_KEY` | Used to send the actual emails for reminders. |
84
- | `NEXT_PUBLIC_CLOUDINARY_URL` | Enables guests to upload photos to your live guestbook. |
118
+ | Location | Filename | Purpose |
119
+ | :--- | :--- | :--- |
120
+ | `/public/` | `bride.jpg` | Main portrait of the Bride (3:4 ratio). |
121
+ | `/public/` | `groom.jpg` | Main portrait of the Groom (3:4 ratio). |
122
+ | `/public/` | `qr.png` | Your UPI QR code for the Sagun page. |
123
+ | `/public/Images/` | `19.jpg` - `22.jpg` | Milestone images for the "Mark the Dates" timeline. |
124
+ | `/public/Images/` | `Patipatra.jpeg` | Image for the traditional date-fixing milestone. |
125
+ | `/public/Images/` | `* (any name)` | All other images in this folder automatically populate the **Memories** gallery. |
85
126
 
86
127
  ---
87
128
 
88
- ## 📁 Key Project Routes
89
- - `/` - The Home Hero & Countdown.
90
- - `/couple` - Your love story & individual bios.
91
- - `/invitation/[guest-id]` - Personalized landing pages for guests.
92
- - `/guestbook` - The real-time masonry photo wall.
93
- - `/song-requests` - Interactive guest playlist.
129
+ ## 🚀 Phase 5: Deployment & Automation
130
+
131
+ ### Vercel Deployment
132
+ 1. Push your code to **GitHub**.
133
+ 2. Connect your repository to [Vercel](https://vercel.com/).
134
+ 3. **Important**: Add all your `.env.local` variables into the Vercel **Environment Variables** settings.
135
+
136
+ ### Automated Reminders (Cron Job)
137
+ To send daily reminders to guests (e.g., from Jan 10th to Jan 26th):
138
+ 1. In Vercel, go to the **Cron** tab (or use GitHub Actions).
139
+ 2. Set up a job to call: `GET /api/email-reminders`
140
+ 3. Header: `Authorization: Bearer YOUR_CRON_SECRET`
141
+ 4. Schedule: `0 10 10-26 1 *` (10 AM daily).
94
142
 
95
143
  ---
96
144
 
97
145
  ## 📜 License
98
- MIT License. Built with ❤️ for the open-source wedding community.
146
+ MIT License. Created with ❤️ for your special day.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@titas_mallick/wedding-site-gen",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "A comprehensive AI-powered wedding website generator based on Next.js, Firebase, and Gemini AI.",
5
5
  "keywords": [
6
6
  "wedding",