{"id":29669339,"url":"https://github.com/chubes4/chill-events","last_synced_at":"2025-07-22T18:33:34.464Z","repository":{"id":303325694,"uuid":"1015087221","full_name":"chubes4/chill-events","owner":"chubes4","description":"A comprehensive WordPress events plugin with API integrations and modern UI","archived":false,"fork":false,"pushed_at":"2025-07-07T02:58:17.000Z","size":268,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-07T03:27:27.958Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chubes4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-07T01:41:57.000Z","updated_at":"2025-07-07T02:58:20.000Z","dependencies_parsed_at":"2025-07-07T03:27:32.829Z","dependency_job_id":"40bde09d-b607-4559-b482-d133ccaa53d7","html_url":"https://github.com/chubes4/chill-events","commit_stats":null,"previous_names":["chubes4/chill-events"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chubes4/chill-events","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubes4%2Fchill-events","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubes4%2Fchill-events/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubes4%2Fchill-events/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubes4%2Fchill-events/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chubes4","download_url":"https://codeload.github.com/chubes4/chill-events/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chubes4%2Fchill-events/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266552271,"owners_count":23947172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-22T18:30:57.224Z","updated_at":"2025-07-22T18:33:34.446Z","avatar_url":"https://github.com/chubes4.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chill Events - WordPress Events Plugin\n\nA comprehensive WordPress events plugin designed as a complete replacement for bloated event plugins like Tribe Events Calendar. Built with Gutenberg-first principles and modular extensibility, it provides a full events solution with native API integrations, visual import management, and a modern calendar interface.\n\n## 🎯 Core Philosophy\n\n**KISS, DRY, and modular extensibility** - built for the AI/customization era. Complete events solution with Import Modules system for automated event management.\n\n## ✨ Key Features\n\n### 🎪 Complete Events Solution\n- **Full Frontend System:** Main calendar page, event displays, filtering, search\n- **Import Modules System:** Visual admin interface for automated event imports\n- **Native API Integrations:** Ticketmaster, Dice FM, Eventbrite built into core\n- **Child Theme Extensions:** Site-specific scrapers and custom data sources\n- **Tribe Events Replacement:** Complete migration tools for seamless transition\n\n### 🔄 Import Modules System\n- **Admin-Configured Modules:** Each import is a separate, configurable module\n- **Data Source Selection:** Choose from core APIs or child theme data sources\n- **Taxonomy Mapping:** Map imported data to existing site taxonomies\n- **Global Schedule Execution:** All active modules run together on a single cron-based schedule\n- **Centralized Tracking:** Single analytics dashboard for all modules\n\n### 🏢 Smart Venue Management\n- **Venue Taxonomy:** Normalized venue data with term meta storage\n- **Rich Venue Data:** Address, phone, website, capacity, coordinates\n- **SEO Benefits:** Venue archive pages, structured data\n- **Import Efficiency:** Avoid duplicate venue creation\n\n### 🎨 Modern Frontend\n- **Gutenberg Calendar Block:** Comprehensive event display with filtering\n- **Real-time Search:** Search by event title, venue, or artist\n- **Date Filtering:** Filter by current month, next month, next 3 months\n- **View Toggle:** Switch between list and grid layouts\n- **Responsive Design:** Mobile-optimized interface\n\n## 🚀 Quick Start\n\n### Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/yourusername/chill-events.git\n   cd chill-events\n   ```\n\n2. **Install dependencies:**\n   ```bash\n   composer install\n   ```\n\n3. **Activate the plugin:**\n   - Upload to `/wp-content/plugins/chill-events/`\n   - Activate through the 'Plugins' menu in WordPress\n\n### Configuration\n\n1. **API Setup:**\n   - Go to Chill Events → API Configuration\n   - Add your Ticketmaster, Eventbrite, or Dice FM API keys\n\n2. **Create Import Modules:**\n   - Go to Chill Events → Import Modules\n   - Click \"Create New Import Module\"\n   - Select data source and configure settings\n\n3. **Add Calendar Block:**\n   - Edit any page/post\n   - Add the \"Chill Events Calendar\" block\n   - Configure display settings\n\n## 📁 Project Structure\n\n```\nchill-events/\n├── assets/                    # Frontend assets\n│   ├── css/                  # Stylesheets\n│   └── js/                   # JavaScript files\n├── includes/                 # Core plugin files\n│   ├── admin/               # Admin interface\n│   ├── blocks/              # Gutenberg blocks\n│   ├── data-sources/        # API integrations\n│   ├── events/              # Event management\n│   └── utils/               # Utility classes\n├── events-scraping/         # Legacy scrapers (migration in progress)\n├── languages/               # Translation files\n├── vendor/                  # Composer dependencies\n└── chill-events.php        # Main plugin file\n```\n\n## 🔧 Development\n\n### Requirements\n- WordPress 6.0+\n- PHP 7.4+\n- Composer\n\n### Development Setup\n1. Clone the repository\n2. Run `composer install`\n3. Activate the plugin in WordPress\n4. Configure API keys for testing\n\n### Architecture Overview\n\n#### **StandardizedEvent Class**\nAll event data is represented by the `StandardizedEvent` class, ensuring consistency across all data sources:\n\n```php\n$event = new StandardizedEvent([\n    'id' =\u003e 'G5eVZb0QUJ4cJ',\n    'title' =\u003e 'Mary Chapin Carpenter / Brandy Clark',\n    'start_date' =\u003e '2025-09-30T23:00:00Z',\n    'venue_name' =\u003e 'The Charleston Music Hall',\n    'venue_phone' =\u003e '(843) 853-2252',\n    'venue_website' =\u003e 'https://charlestonmusichall.com',\n    'artist_name' =\u003e 'Mary Chapin Carpenter, Brandy Clark',\n    'price' =\u003e '$61.91 - $78.48',\n    'ticket_url' =\u003e 'https://ticketmaster.com/event/2D006246B6995B66',\n]);\n```\n\n#### **Import Modules System**\nEach import module is a configurable instance that:\n- Maps to any available data source (API or custom scraper)\n- Configures taxonomy mappings for venue, artist, location, etc.\n- Runs on a global schedule with detailed logging\n- Provides real-time import status and analytics\n\n#### **Venue Taxonomy System**\nVenue data is normalized using WordPress taxonomies:\n- Venue information stored as term meta\n- Reused across multiple events\n- Rich venue data (address, phone, website, capacity)\n- SEO-friendly venue archive pages\n\n## 📚 API Integrations\n\n### Core APIs (Built-in)\n- **Ticketmaster API:** Complete Live Nation venue network access\n- **Eventbrite API:** Community and local event integration  \n- **Dice FM API:** Independent venue and event coverage\n\n### Custom Data Sources\nCreate site-specific scrapers in your child theme:\n```php\n// wp-content/themes/your-child-theme/chill-events/data-sources/scrapers/\nclass MyVenueScraper extends \\ChillEvents\\BaseDataSource {\n    public function get_info() {\n        return [\n            'name' =\u003e 'My Venue Scraper',\n            'type' =\u003e 'scraper',\n            'description' =\u003e 'Scrapes events from My Venue.',\n        ];\n    }\n\n    public function get_events($settings = array()) {\n        // Return array of StandardizedEvent objects\n    }\n}\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the GPL v2 or later - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with ❤️ by [Chris Huber](https://chubes.net)\n- Designed as a modern alternative to Tribe Events Calendar\n- Inspired by the need for lightweight, extensible event management\n\n## 📞 Support\n\nFor support, feature requests, or bug reports:\n- Create an issue on GitHub\n- Contact: [chubes.net](https://chubes.net)\n\n---\n\n**Chill Events** - Making WordPress event management simple, powerful, and extensible. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchubes4%2Fchill-events","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchubes4%2Fchill-events","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchubes4%2Fchill-events/lists"}