Sydney’s florists need more than a brochure online. Modern flower delivery demands real-time inventory, payment processing, delivery scheduling, and the ability to wow customers with beautiful presentation—all integrated seamlessly.
We built a demo website for Blooms & Petals Flower Shop using Nuxt.js, a sophisticated Vue.js framework perfect for full-stack web applications. The result? An elegant, interactive website with rose pink and lavender accents, a gorgeous product catalog, shopping cart, and delivery management system that makes ordering flowers as beautiful as the arrangements themselves.
View the live demo: blooms-petals.cosmoswebtech.com.au →
Live demo hero section showcasing the design and layout
Why Nuxt.js for Flower Shops?
Nuxt.js is ideal for e-commerce businesses because it combines frontend elegance with backend power—all in one framework.
Nuxt.js delivers:
- Full-stack JavaScript - Same language for frontend and backend
- Server-Side Rendering (SSR) - SEO-friendly product pages
- Real-time inventory - Update stock as orders come in
- State management - Shopping cart, saved arrangements, wishlists
- API integration - Payment processors, delivery services, logistics
- Automatic code splitting - Fast page loads despite complex features
- Beautiful UI - Vue.js components for interactive product pages
The Performance Numbers
Build Output:
Initial HTML: 52.3 KB
JavaScript: 185 KB (core app + lazy-loaded pages)
CSS: 45.8 KB (custom Tailwind + animations)
First Load: ~220 KB estimated transfer
Lighthouse Score: 92 (Performance), 100 (SEO)
Build Time: ~4-5 seconds
Status: Excellent, Production-ready
Nuxt’s hybrid rendering means static content loads instantly, while interactive features load progressively.
Rose Pink & Lavender: Floral Elegance
Flower shops need websites that are as beautiful and romantic as the arrangements themselves. We designed an elegant color palette that evokes romance, nature, and sophistication.
Primary Colors:
- Rose Pink (#e91e63) - romance, elegance, classic flowers
- Dusty Rose (#d946aa) - warm sophistication
- Lavender (#c084fc) - calm, creativity, luxury
- Light Lavender (#e9d5ff) - soft backgrounds, elegance
- Deep Plum (#6b21a8) - authority, depth
Accent Colors:
- Cream (#faf8f5) - purity, natural elegance
- Sage Green (#6b7280) - nature, freshness of stems and leaves
- Gold (#d4af37) - premium touches, special occasions
Why rose pink and lavender?
These colors communicate:
- Pink - Romance, femininity, love, classic florals
- Lavender - Luxury, creativity, calm elegance
- Together - Premium floral artistry with emotional resonance
Think of high-end florists, romantic occasions, luxury gift delivery—this palette captures that perfectly.
Typography:
- Headings: Plus Jakarta Sans (elegant, modern, romantic)
- Body: Inter (highly readable, sophisticated)
Nuxt.js: Full-Stack Florist Power
Vue.js Components for Interactive Products
Nuxt.js leverages Vue.js components for beautiful interactivity:
<template>
<div class="product-card">
<div class="image-gallery">
<img :src="selectedImage" :alt="product.name" />
<div class="thumbnails">
<img
v-for="(image, i) in product.images"
:key="i"
:src="image"
@click="selectedImage = image"
:class="{ active: selectedImage === image }"
/>
</div>
</div>
<h2>{{ product.name }}</h2>
<p class="description">{{ product.description }}</p>
<div class="pricing">
<span class="price">${{ product.price }}</span>
<span v-if="product.discount" class="original">${{ product.original }}</span>
</div>
<div class="size-selector">
<label>Choose Size:</label>
<button
v-for="size in product.sizes"
:key="size.id"
@click="selectedSize = size"
:class="{ selected: selectedSize?.id === size.id }"
>
{{ size.name }} (+${{ size.priceAdd }})
</button>
</div>
<button @click="addToCart" class="add-to-cart">Add to Cart</button>
</div>
</template>
<script setup>
import { ref, computed } from 'vue'
import { useCart } from '~/composables/useCart'
const props = defineProps(['product'])
const { addItem } = useCart()
const selectedImage = ref(props.product.images[0])
const selectedSize = ref(props.product.sizes[0])
const addToCart = () => {
addItem({
...props.product,
selectedSize: selectedSize.value,
image: selectedImage.value
})
}
</script>
<style scoped>
.product-card {
@apply bg-white rounded-lg shadow-lg p-6;
}
.image-gallery {
@apply mb-4;
}
.price {
@apply text-2xl font-bold text-rose-pink;
}
.add-to-cart {
@apply bg-rose-pink text-white px-6 py-3 rounded-lg hover:bg-dusty-rose transition;
}
</style>
This Vue component handles product images, size selection, pricing, and cart management—all interactive without page reloads.
Server-Side API Routes
Nuxt handles backend API routes alongside frontend code:
// server/api/cart.post.ts
export default defineEventHandler(async (event) => {
const body = await readBody(event)
// Calculate total
const total = body.items.reduce((sum, item) => {
return sum + (item.price * item.quantity)
}, 0)
// Check inventory
const inventory = await db.checkInventory(body.items)
if (!inventory.inStock) {
throw createError({
statusCode: 400,
statusMessage: 'Some items are out of stock'
})
}
// Create order
const order = await db.createOrder({
items: body.items,
total,
customer: body.customer,
deliveryDate: body.deliveryDate
})
return { orderId: order.id, total }
})
Same JavaScript knowledge for frontend and backend—faster development, easier maintenance.
Real-Time Inventory & Delivery
Nuxt integrates with inventory and delivery systems:
// composables/useAvailability.ts
export const useAvailability = () => {
const availableDates = ref([])
const selectedDate = ref(null)
const checkDeliveryDates = async (suburb) => {
const response = await $fetch('/api/delivery-dates', {
query: { suburb, today: new Date() }
})
availableDates.value = response.dates
}
const checkInventory = async (productIds, date) => {
const response = await $fetch('/api/inventory', {
method: 'POST',
body: { productIds, date }
})
return response.available
}
return { availableDates, selectedDate, checkDeliveryDates, checkInventory }
}
Customers see real availability for their suburb and delivery date.
Six Pages That Drive Flower Sales
1. Homepage: Romantic & Beautiful
Hero Section:
Blooms & Petals Flower Shop
Artfully Arranged, Beautifully Delivered in Sydney
Rose pink to lavender gradient with gentle floral animations.
Key sections:
- Why Choose Blooms & Petals - Same-day delivery, fresh flowers, expert florists
- Featured Arrangements - 4-5 bestselling bouquets with photos
- Occasion Types - Quick links (Valentine’s, Mother’s Day, Weddings, Sympathy)
- Delivery Promise - Same-day delivery in Sydney, quality guarantee
- Testimonials - Beautiful customer reviews with photos
- Shop Now - Prominent CTA
2. Shop Page: Beautiful Product Catalog
Product Categories:
Classic Bouquets ($45-85)
- Red Rose Romance - 12 red roses, baby’s breath, greenery - $75
- Soft Garden - Mixed pastels, roses, dahlias - $65
- Sunburst - Yellow and orange arrangement - $55
- Peace & Serenity - Whites and creams - $70
Premium Arrangements ($85-150)
- Luxury Bloom - Premium roses, exotic orchids - $135
- Garden Paradise - Mixed seasonal flowers, lush greenery - $125
- Elegance - Roses, eucalyptus, berries - $110
Seasonal Specials ($50-120)
- Valentine’s Collection - Romantic reds and pinks
- Mother’s Day Special - Pastels and personalization
- Christmas Magic - Festive reds, golds, greenery
- Easter Blossoms - Spring colors and themes
Plant Gifts ($35-100)
- Orchid Elegance - Potted orchid with decorative pot - $65
- Succulent Garden - Assorted succulents in pot - $45
- Peace Lily - Air-purifying plant - $55
Add-Ons:
- Personalized message card - +$5
- Luxury chocolates - +$15
- Premium vase upgrade - +$20
- Gift wrapping upgrade - +$10
Each product shows:
- High-quality photography (multiple angles)
- Detailed description
- Flower types and colors
- Size options
- Delivery area availability
- Customer reviews
3. Flower Guide: Educational Content
Types of Flowers:
- Roses - Classic elegance, romantic symbolism
- Orchids - Exotic luxury, tropical beauty
- Peonies - Romantic abundance, springtime wonder
- Sunflowers - Cheerfulness, warmth, sunshine
- Lilies - Elegance, fragrance, purity
- Tulips - Spring freshness, soft romance
Occasions Guide:
- Valentine’s Day - Red roses, romantic pinks
- Mother’s Day - Soft pastels, elegant arrangements
- Weddings - Whites, soft pinks, bridesmaids’ colors
- Sympathy - Whites, soft colors, meaningful arrangements
- Congratulations - Bright, celebratory colors
- Just Because - Cheerful mixed arrangements
Care Tips:
- How long flowers last
- Proper water and trimming
- Temperature management
- Display suggestions
4. Gift With Delivery: Checkout & Delivery
Shopping Cart & Checkout:
-
Review Cart
- Product summary
- Selected size
- Add-ons (chocolates, card, wrapping)
- Running total
-
Delivery Details
- Recipient name and address
- Delivery suburb (shows availability)
- Delivery date picker (shows available dates)
- Delivery time preference (morning/afternoon)
- Special delivery instructions
-
Message Card
- Optional personalized message (up to 150 characters)
- Preview of how it looks
-
Payment Information
- Billing address
- Payment method (card, PayPal, Apple Pay)
- Order review
-
Confirmation
- Order number
- Estimated delivery time
- Customer service phone
- Email confirmation
Real-time Updates:
- After order confirmation, SMS updates to customer
- “Your flowers have been arranged”
- “Your delivery is on the way”
- “Flowers delivered” with driver photo
5. Corporate & Events: B2B Services
Corporate Flowers:
- Office lobby displays
- Reception desk arrangements
- Meeting room centerpieces
- Regular subscription service
Events & Weddings:
- Bridal bouquets
- Bridesmaid flowers
- Ceremony arrangements
- Reception centerpieces
- Installation and setup services
Services Include:
- Custom design consultation
- Delivery and setup
- Arrangement maintenance
- Day-of coordination
- Photography options
Request custom quote for events and large orders.
6. About & Contact: Personal Connection
About Blooms & Petals:
“Founded in 2015, Blooms & Petals was created by florist Maria Santos with a vision to make beautiful flowers accessible to everyone in Sydney. Every arrangement is handcrafted with love, using the freshest flowers sourced from local and sustainable growers.”
Our Florists:
- Introduce each florist with bio and specialty
- Show their favorite flowers and arrangements
- Personal touch and credibility
Sourcing & Sustainability:
- Fresh flowers delivered daily from growers
- Local Sydney suppliers prioritized
- Eco-friendly practices (recycled materials, water conservation)
- Seasonal arrangements promote local growers
Contact:
- Phone: (02) 9876 3456 (click-to-call)
- Email: [email protected]
- Instagram: @bloomsandpetalsflowers
Location:
- Address: 234 Flower Lane, Marrickville NSW 2204
- Store Hours: Mon-Fri 9AM-6PM, Sat 10AM-5PM, Sun 11AM-4PM
- Order online anytime, in-store purchases welcome
Delivery:
- Sydney metropolitan delivery: Same-day available
- Coverage: 15km radius from store
- Flat delivery fee: $15
- Scheduled delivery: $20
What Real Florists Need
1. Subscription Service
Build recurring revenue:
- Weekly or bi-weekly bouquets
- Seasonal arrangements
- Customizable preferences
- Delivery scheduled automatically
Subscriptions create predictable revenue and customer loyalty.
2. Wedding & Event Planning Portal
High-value B2B feature:
- Gallery of past events
- Custom quote calculator
- Mood board creation
- Event timeline management
- Vendor collaboration tools
3. Flower Fresh Guarantee
Competitive advantage:
- Satisfaction guarantee (refresh if wilted)
- 7-day freshness promise
- Free re-delivery if not satisfied
- Quality seal on website
4. SMS & Email Notifications
Engagement and upsell:
- Order status updates
- Special occasion reminders (birthdays, anniversaries)
- New seasonal arrangements
- Flash sales and limited-time offers
5. Professional Photography
Showcase quality:
- Arrangement close-ups (details, colors)
- Delivery in action
- Happy customer photos
- Florist at work
- Event installations
Investment: $1,200-2,000 for 30-40 professional images
6. Review & Testimonial System
Social proof matters for gifts:
- Google reviews with photos
- Customer testimonials with images
- Before/after delivery photos
- Recipient satisfaction stories
SEO for Floral Discovery
“Send flowers Sydney” and “same-day flower delivery” are competitive searches.
Local SEO optimizations:
- Google Business Profile - Complete with hours, photos, services
- Local keywords - “Marrickville florist,” “Same-day flower delivery Sydney”
- Service pages - “Valentine’s flowers,” “Wedding flowers,” “Sympathy arrangements”
- Blog content - Flower care, arrangement ideas, occasion guides
- Customer reviews - Encourage testimonials with photos
Content strategy:
- Blog about flower types and care
- Seasonal arrangement guides
- Occasion-specific recommendations
- Local event coverage
Hosting & Deployment
Nuxt.js apps need Node.js hosting or static pre-rendering:
Recommended Hosting:
Vercel (Best for Nuxt):
- Optimized for Nuxt deployment
- Serverless functions for APIs
- $0-100/month for commercial use
- Excellent performance
Netlify:
- Nuxt-compatible deployment
- Serverless functions available
- $0-99/month pricing
- Global CDN
DigitalOcean App Platform:
- Full control over Node.js environment
- $12-50/month for app hosting
- Database and API flexibility
Monthly hosting: $15-50 (reasonable for e-commerce).
Real Flower Shop Website Pricing
Starter Package:
- Homepage, product catalog, about, contact
- Mobile responsive
- Rose pink/lavender design
- Contact form
- Manual order processing
- Investment: $4,500 - $6,500
E-Commerce Package:
- Everything in Starter
- Full shopping cart system
- Secure payment processing (Stripe)
- Delivery address and date selection
- Order confirmation emails
- Customer account management
- Investment: $7,500 - $10,000
Premium Package:
- Everything in E-Commerce
- Real-time inventory management
- Delivery scheduling and tracking
- Subscription service capability
- SMS notifications
- Customer loyalty program
- Advanced analytics
- Event/wedding inquiry system
- Investment: $12,000 - $16,000
Timeline: 4-6 weeks from design to launch.
Ready to build a beautiful e-commerce website for your Sydney flower shop? Contact Cosmos Web Tech for a free consultation about creating a florist site that’s as beautiful as your arrangements.
📞 0433 309 677 📧 Email us
We build flower shop websites that bloom online—just like this Blooms & Petals demo.
Reach your audience beyond the browser. Awesome Apps develops mobile apps that extend your web platform with features like push notifications and GPS.
Part of the Ganda Tech Services family, Cosmos Web Tech delivers specialist web design and digital marketing for Australian small and medium businesses.