How pankajtyagi1601/anjani_beauties works
Anjani Beauties is a bridal salon marketing site and lead-capture application. Visitors explore salon information, services, bridal packages, and a filtered image gallery, then can submit contact or bridal inquiries. The documented inquiry pipeline validates and stores submissions and sends email notifications; sampled API handlers confirm rate limiting, optional reCAPTCHA, PostgreSQL persistence, and notification dispatch. Marketing-page internals and form wiring are not fully sampled, so those connections are shown only where supported by the tree or README.
Main entry points: contact/route.ts Contact API · bridal-inquiry/route.ts Bridal inquiry API · (marketing) Marketing pages · recaptcha.ts reCAPTCHA verification
Components 21
Marketing site
- Marketing pages
src/app/(marketing) - Service catalog
src/config/services.ts - Services display
src/components/sections/Services.tsx - Gallery page
src/app/(marketing)/gallery/page.tsx - Gallery interaction
src/components/gallery/GalleryClient.tsx - Shared site shell
src/app/(marketing)/layout.tsx
Inquiry handling
- Contact form
src/components/forms/ContactForm.tsx - Bridal inquiry form
src/components/forms/BridalInquiryForm.tsx - Contact API
src/app/api/contact/route.ts - Bridal inquiry API
src/app/api/bridal-inquiry/route.ts - Request validation
src/lib/validations/validateRequest.ts - Rate limiting
src/lib/rate-limit.ts - reCAPTCHA verification
src/lib/recaptcha.ts
External services
- PostgreSQL via Prisma
src/lib/db/prisma.ts - Email notifications
src/lib/email.ts - Email provider
- reCAPTCHA service
Search presence
- Structured data
src/components/seo - Site configuration
src/config/site.ts - Sitemap
src/app/sitemap.ts
Other components
- Site visitor
Connections 26
- Site visitor → Marketing pages: browses
- Marketing pages → Shared site shell: renders within
- Marketing pages → Services display: presents services
- Services display → Service catalog: reads catalog
- Site visitor → Gallery page: opens gallery
- Gallery page → Gallery interaction: renders gallery
- Site visitor → Contact form: submits contact
- Site visitor → Bridal inquiry form: submits inquiry
- Contact form → Contact API: posts inquiry
- Bridal inquiry form → Bridal inquiry API: posts inquiry
- Contact API → Rate limiting: checks limit
- Bridal inquiry API → Rate limiting: checks limit
- Contact API → reCAPTCHA verification: verifies token
- Bridal inquiry API → reCAPTCHA verification: verifies token
- reCAPTCHA verification → reCAPTCHA service: checks token
- Contact API → Request validation: validates fields
- Bridal inquiry API → Request validation: validates fields
- Contact API → PostgreSQL via Prisma: stores submission
- Bridal inquiry API → PostgreSQL via Prisma: stores inquiry
- Contact API → Email notifications: dispatches notice
- Bridal inquiry API → Email notifications: dispatches notice
- Email notifications → Email provider: sends email
- Structured data → Service catalog: describes services
- Structured data → Site configuration: reads site details
- Sitemap → Site configuration: reads site details
- Site visitor → Sitemap: discovers pages