Skip to content

Venue and Theme Seed Data Implementation

This document describes the comprehensive seed data implementation for venues and themes to support the newly implemented venue and theme management functionality.

Created realistic and diverse seed data for venues and themes following the existing event sourcing pattern, designed to showcase the venue and theme management features and support comprehensive testing.

Comprehensive venue seed data module with 15 diverse venues across different types and locations.

Creative theme seed data module with 12 professionally designed themes for various event types.

Integrated venue and theme seeding into the main seed execution flow.

  • HOME (2 venues): Cozy Corner Lounge, Historic Mansion
  • RESTAURANT (2 venues): The Rooftop Terrace, Skyline Restaurant
  • BAR (3 venues): The Vintage Cellar, The Craft Distillery, Artisan Brewery
  • HOTEL (3 venues): The Grand Ballroom, Mountain View Lodge, The Penthouse Suite
  • OUTDOOR (3 venues): Sunset Beach Club, Garden Pavilion, Lakeside Pavilion
  • OTHER (2 venues): Metropolitan Loft, Urban Warehouse
  • East Coast: New York, Charleston, Miami Beach
  • West Coast: Beverly Hills, Seattle, Lake Tahoe, Portland
  • Central: Chicago, Austin, Nashville, Denver, Detroit
  • Mountain: Aspen, Colorado
  • South: New Orleans, Louisiana
  • Intimate (25-60 people): Home venues, specialty bars
  • Medium (75-150 people): Restaurants, outdoor venues
  • Large (180-300 people): Hotels, warehouses, ballrooms
  • Complete Addresses: Street, city, state, ZIP, country
  • Contact Information: Phone, email, website (where appropriate)
  • Relevant Amenities: Type-specific amenities for each venue
  • Detailed Descriptions: Professional, marketing-ready descriptions

The Rooftop Terrace (Restaurant, NYC)

  • Capacity: 120 people
  • Amenities: Full bar, City views, Outdoor seating, Climate control, AV equipment, Valet parking
  • Perfect for sophisticated cocktail events

Sunset Beach Club (Outdoor, Miami Beach)

  • Capacity: 200 people
  • Amenities: Beach access, Tiki bar, Fire pits, Live music stage, Catering kitchen
  • Ideal for tropical-themed events

The Vintage Cellar (Bar, New Orleans)

  • Capacity: 80 people
  • Amenities: Wine cellar, Vintage decor, Sound system, Private entrance
  • Perfect for speakeasy-themed events
  • Elegant Evening: Sophisticated formal events
  • Tropical Paradise: Vibrant island-inspired parties
  • Rustic Charm: Cozy, natural atmosphere
  • Modern Minimalist: Clean, contemporary aesthetic
  • Vintage Speakeasy: Prohibition-era inspired
  • Garden Party: Fresh, floral outdoor events
  • Urban Industrial: Edgy metropolitan vibe
  • Sunset Celebration: Warm golden hour colors
  • Midnight Glamour: Luxurious evening events
  • Coastal Breeze: Light seaside atmosphere
  • Autumn Harvest: Seasonal fall celebration
  • Art Deco Glam: 1920s geometric luxury

Each theme includes 4-5 carefully selected hex colors:

Elegant Evening: #2C3E50, #E74C3C, #F39C12, #ECF0F1, #34495E Tropical Paradise: #1ABC9C, #F1C40F, #E67E22, #3498DB, #E8F8F5 Rustic Charm: #8B4513, #D2691E, #F4A460, #DEB887, #FFF8DC

Each theme includes comprehensive styling guidance:

  • Decoration suggestions: Specific decor elements and materials
  • Lighting recommendations: Appropriate lighting styles and techniques
  • Music suggestions: Suitable background music genres
  • Dress code guidance: Appropriate attire recommendations
  • Glassware and serving: Specific serving suggestions
  • Additional elements: Props, flowers, and accent pieces

Elegant Evening

  • Colors: Deep navy, rich red, warm gold, light gray, dark gray
  • Style Notes: “Use gold accents and warm lighting. Incorporate crystal glassware, silk table runners, and fresh white flowers. Consider string quartet background music and formal dress code. Lighting should be dim and intimate with candles and uplighting.”
  • Command Structure: Prepared for future CreateVenue and CreateTheme commands
  • Idempotent Design: Can be run multiple times safely
  • Deterministic UUIDs: Consistent IDs across seed runs
  • Error Handling: Proper logging and error management
  • Base Module: Uses existing Bartendie.Seeds.Base helper functions
  • Logging: Consistent progress logging with other seed modules
  • Environment Validation: Proper environment checks before seeding
  • Projection Waiting: Includes wait mechanisms for event sourcing

Since venue and theme event sourcing commands are not yet implemented, the seed modules:

  • Prepare Data: Structure data ready for command dispatching
  • Log Progress: Provide feedback on seeding progress
  • Maintain Pattern: Follow exact same pattern as other seed modules
  • Easy Migration: Simple to activate when commands are implemented
Terminal window
mix run priv/repo/seeds.exs
Terminal window
SEED_DOMAINS=venues,themes mix run priv/repo/seeds.exs
  1. Users
  2. Products
  3. Recipes
  4. Venues (new)
  5. Themes (new)
  6. Events
  7. Menus
  8. Shopping Lists
  • Total: 15 venues
  • Geographic Coverage: 13 different cities across US
  • Capacity Range: 25-300 people
  • Average Amenities: 5-6 per venue
  • Contact Coverage: 100% phone, 93% email, 87% website
  • Total: 12 themes
  • Color Schemes: 5 colors per theme (60 total colors)
  • Style Categories: Formal, casual, seasonal, cultural
  • Occasion Coverage: Corporate, wedding, party, seasonal events

When Event Sourcing Commands Are Implemented

Section titled “When Event Sourcing Commands Are Implemented”
  1. Uncomment Command Dispatching: Remove placeholder code and activate actual commands
  2. Add Validation: Include business rule validation in commands
  3. Enhance Metadata: Add more detailed metadata for tracking
  4. Add Relationships: Link venues to events, themes to events
  • Venue Photos: Add image URLs for venue galleries
  • Theme Templates: Include template configurations
  • Seasonal Variations: Add seasonal theme variations
  • Regional Themes: Include location-specific themes
  • Event Assignment: Automatically assign venues and themes to events
  • Availability Calendars: Add venue booking calendars
  • Theme Combinations: Create theme variation combinations
  • User Preferences: Add user-specific theme preferences
  • Rich Testing Data: Comprehensive data for feature testing
  • Demo Ready: Professional data suitable for demonstrations
  • Realistic Scenarios: Covers real-world use cases and edge cases
  • Immediate Value: Users see rich, realistic data immediately
  • Feature Discovery: Examples help users understand capabilities
  • Inspiration: Creative themes inspire user’s own events
  • Edge Case Testing: Various venue sizes and theme combinations
  • Data Validation: Tests data handling across different scenarios
  • Performance Testing: Sufficient data volume for performance testing

This comprehensive seed data implementation provides a solid foundation for venue and theme management features, ensuring users have rich, realistic data to work with from the moment they start using the application.