@titas_mallick/wedding-site-gen 2.0.4 โ 2.0.6
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.
- package/ARTICLE.md +80 -0
- package/README.md +3 -0
- package/app/invitation/[slug]/layout.tsx +3 -3
- package/app/layout.tsx +5 -5
- package/package.json +9 -1
package/ARTICLE.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# ๐ Say "I Do" to Automation: Building an AI-Powered Wedding Experience with Next.js & Gemini
|
|
2
|
+
|
|
3
|
+
In the era of digital transformation, the traditional paper wedding invitation is becoming a relic of the past. But while digital invitations are rising, most are just static landing pages. I wanted something moreโsomething interactive, intelligent, and truly helpful for both the couple and the guests.
|
|
4
|
+
|
|
5
|
+
Thatโs why I built **Wedding Website Generator v2.0**, a production-ready CLI tool that scaffolds a complete, high-end wedding application in minutes.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ๐ The Vision: Beyond the Static Page
|
|
10
|
+
|
|
11
|
+
Most wedding websites provide a map and a date. My goal was to build a **digital concierge**. Guests always have questions: *"Where is the parking?"*, *"What time does the ceremony start?"*, *"What is the dress code?"*.
|
|
12
|
+
|
|
13
|
+
By integrating **Google Gemini 2.5-flash**, Iโve created a sitewide AI assistant that is trained on the couple's specific wedding data. It doesn't just display info; it talks to your guests.
|
|
14
|
+
|
|
15
|
+
## โจ Core Features at a Glance
|
|
16
|
+
|
|
17
|
+
### ๐ค AI-Powered Intelligence
|
|
18
|
+
* **Wedding Concierge**: A floating chatbot that answers guest queries about venues, schedules, and the couple's story in real-time.
|
|
19
|
+
* **Sentiment Wall**: AI analysis that summarizes guest wishes into a beautiful "Collective Blessing" paragraph.
|
|
20
|
+
|
|
21
|
+
### ๐ธ Interactive Guest Experience
|
|
22
|
+
* **Personalized Invitations**: Every guest gets a unique ID and URL. They only see the events they are specifically invited to.
|
|
23
|
+
* **Digital Guestbook**: A masonry-style gallery where guests can upload photos directly from their phones (powered by Cloudinary).
|
|
24
|
+
* **Reception Playlist**: A real-time queue where guests can request songs they want to hear.
|
|
25
|
+
|
|
26
|
+
### ๐ฎ The "Control Center" (Admin Dashboard)
|
|
27
|
+
Managing a guest list of 500 people is a nightmare. The generator includes a secure dashboard where the couple can:
|
|
28
|
+
* Add/Edit guest details and invitation types.
|
|
29
|
+
* Track RSVPs and food preferences in real-time.
|
|
30
|
+
* Generate pre-filled WhatsApp messages for one-click sharing.
|
|
31
|
+
|
|
32
|
+
### ๐ฅ Live Event Broadcast
|
|
33
|
+
The site includes a dedicated `/updates/overlay` route designed for **OBS**. You can display scrolling "Live News" updates and a synchronized clock on the venue's big screens during the event.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## ๐ ๏ธ The Tech Stack
|
|
38
|
+
|
|
39
|
+
Building a scalable, real-time app required a modern stack:
|
|
40
|
+
* **Framework**: Next.js 15 (App Router)
|
|
41
|
+
* **UI/UX**: HeroUI (formerly NextUI) + Framer Motion for elegant animations.
|
|
42
|
+
* **Database**: Firebase Firestore for real-time updates.
|
|
43
|
+
* **Auth**: Firebase Authentication.
|
|
44
|
+
* **AI**: Google Gemini AI.
|
|
45
|
+
* **Media**: Cloudinary (Image resizing and storage).
|
|
46
|
+
* **Email**: Resend API for automated guest reminders.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## ๐ Quick Start: Make it Yours
|
|
51
|
+
|
|
52
|
+
One of the best parts about this project is that it is an **npm utility**. You don't need to clone a repo and manually search-and-replace strings.
|
|
53
|
+
|
|
54
|
+
### 1. Generate
|
|
55
|
+
Simply run:
|
|
56
|
+
```bash
|
|
57
|
+
npx @titas_mallick/wedding-site-gen
|
|
58
|
+
```
|
|
59
|
+
The CLI will ask for the couple's names, the wedding date, and your preferred theme. It then generates a sanitized, personalized codebase.
|
|
60
|
+
|
|
61
|
+
### 2. Configure
|
|
62
|
+
Fill in your `.env.local` with your Firebase and Gemini keys. Deploy the included Firestore rules, and you are ready to go.
|
|
63
|
+
|
|
64
|
+
### 3. Personalize
|
|
65
|
+
Replace the placeholder images in the `/public/` folder with your own pre-wedding portraits and milestone photos. The masonry gallery will automatically detect and display them.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## ๐ Final Thoughts
|
|
70
|
+
|
|
71
|
+
Weddings are about stories. By using AI and modern web tech, we can tell those stories in a way that is engaging, modern, and stress-free. Whether you're a developer looking to build a site for a friend or a tech-savvy couple, this tool provides a professional foundation to build upon.
|
|
72
|
+
|
|
73
|
+
**Explore the Project:**
|
|
74
|
+
* ๐ฆ **NPM Package**: [@titas_mallick/wedding-site-gen](https://www.npmjs.com/package/@titas_mallick/wedding-site-gen)
|
|
75
|
+
* ๐ป **GitHub Repository**: [titasmallick/wedding-site-gen](https://github.com/titasmallick/wedding-site-gen)
|
|
76
|
+
|
|
77
|
+
**Happy Building, and Happy Wedding!** ๐โจ
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
*If you find this tool useful, feel free to contribute to the project or share your feedback!*
|
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# ๐ Wedding Website Generator v2.0 (AI-Powered)
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@titas_mallick/wedding-site-gen)
|
|
4
|
+
[](https://github.com/titasmallick/wedding-site-gen)
|
|
5
|
+
|
|
3
6
|
> **The ultimate digital companion for your special day.** Scaffold, personalize, and deploy a feature-rich wedding application in minutes.
|
|
4
7
|
|
|
5
8
|
---
|
|
@@ -8,13 +8,13 @@ export const metadata: Metadata = {
|
|
|
8
8
|
title: "You're Invited! | Wedding",
|
|
9
9
|
description:
|
|
10
10
|
"We would be honored to have you join us as we celebrate our wedding. View details for the ceremony and reception.",
|
|
11
|
-
url: "your-wedding-site.com/invitation",
|
|
11
|
+
url: "https://your-wedding-site.com/invitation",
|
|
12
12
|
siteName: "Groom & Bride",
|
|
13
13
|
locale: "en_US",
|
|
14
14
|
type: "website",
|
|
15
15
|
images: [
|
|
16
16
|
{
|
|
17
|
-
url: "your-wedding-site.com/invite.jpeg", // Updated to use absolute URL for WhatsApp
|
|
17
|
+
url: "https://your-wedding-site.com/invite.jpeg", // Updated to use absolute URL for WhatsApp
|
|
18
18
|
width: 1200,
|
|
19
19
|
height: 630,
|
|
20
20
|
alt: "Wedding Invitation",
|
|
@@ -25,7 +25,7 @@ export const metadata: Metadata = {
|
|
|
25
25
|
card: "summary_large_image",
|
|
26
26
|
title: "Wedding Invitation | Groom & Bride",
|
|
27
27
|
description: "Join us in celebrating our special day.",
|
|
28
|
-
images: ["your-wedding-site.com/invite.jpeg"], // Updated to use absolute URL for WhatsApp
|
|
28
|
+
images: ["https://your-wedding-site.com/invite.jpeg"], // Updated to use absolute URL for WhatsApp
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
31
|
|
package/app/layout.tsx
CHANGED
|
@@ -13,7 +13,7 @@ import ConciergeBot from "@/components/ConciergeBot";
|
|
|
13
13
|
import { SchemaMarkup } from "@/components/SchemaMarkup";
|
|
14
14
|
|
|
15
15
|
export const metadata: Metadata = {
|
|
16
|
-
metadataBase: new URL("your-wedding-site.com"),
|
|
16
|
+
metadataBase: new URL("https://your-wedding-site.com"),
|
|
17
17
|
|
|
18
18
|
title: {
|
|
19
19
|
default: siteConfig.name,
|
|
@@ -31,7 +31,7 @@ export const metadata: Metadata = {
|
|
|
31
31
|
authors: [
|
|
32
32
|
{
|
|
33
33
|
name: "Groom Name",
|
|
34
|
-
url: "your-wedding-site.com",
|
|
34
|
+
url: "https://your-wedding-site.com",
|
|
35
35
|
},
|
|
36
36
|
],
|
|
37
37
|
creator: "Groom Name",
|
|
@@ -46,13 +46,13 @@ export const metadata: Metadata = {
|
|
|
46
46
|
openGraph: {
|
|
47
47
|
type: "website",
|
|
48
48
|
locale: "en_US",
|
|
49
|
-
url: "your-wedding-site.com",
|
|
49
|
+
url: "https://your-wedding-site.com/",
|
|
50
50
|
title: siteConfig.name,
|
|
51
51
|
description: siteConfig.description,
|
|
52
52
|
siteName: siteConfig.name,
|
|
53
53
|
images: [
|
|
54
54
|
{
|
|
55
|
-
url: "your-wedding-site.com/invite.jpeg",
|
|
55
|
+
url: "https://your-wedding-site.com/invite.jpeg",
|
|
56
56
|
width: 1200,
|
|
57
57
|
height: 630,
|
|
58
58
|
alt: "Wedding Invitation",
|
|
@@ -63,7 +63,7 @@ export const metadata: Metadata = {
|
|
|
63
63
|
card: "summary_large_image",
|
|
64
64
|
title: siteConfig.name,
|
|
65
65
|
description: siteConfig.description,
|
|
66
|
-
images: ["your-wedding-site.com/invite.jpeg"],
|
|
66
|
+
images: ["https://your-wedding-site.com/invite.jpeg"],
|
|
67
67
|
creator: "@wedding",
|
|
68
68
|
},
|
|
69
69
|
robots: {
|
package/package.json
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@titas_mallick/wedding-site-gen",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "A comprehensive AI-powered wedding website generator based on Next.js, Firebase, and Gemini AI.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/titasmallick/wedding-site-gen.git"
|
|
8
|
+
},
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/titasmallick/wedding-site-gen/issues"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/titasmallick/wedding-site-gen#readme",
|
|
5
13
|
"keywords": [
|
|
6
14
|
"wedding",
|
|
7
15
|
"wedding-website",
|