Skip to content

Community-grade PWA that demonstrates how amazing technology can be built collaboratively by humans and AI for the benefit of everyone!

Notifications You must be signed in to change notification settings

rsp2k/chatty-cathy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—£οΈ Cathy - The Chatty Community PWA

Community Grade > Enterprise Grade - Because everyone deserves awesome push notifications! 🌍✨

PWA Docker Community Humans+AI

Cathy is a chatty, community-focused Progressive Web App that brings rich push notifications with interactive actions to everyone. Built with love by humans and AI working together! πŸ€–β€οΈπŸ§‘

🌟 Why "Community Grade"?

CG = Everyone Benefits!

  • 🌍 Universal Access - Works for students, startups, nonprofits, anyone
  • πŸ’° Zero Cost - Self-hosted, no subscriptions, no vendor lock-in
  • πŸ”“ Open Source - Learn, modify, contribute, share
  • πŸš€ Modern Tech - Latest PWA features accessible to all
  • 🀝 Collaborative - Humans + AI building the future together

πŸš€ What Makes Cathy Special?

πŸ”” Rich Push Notifications with Actions

Not just boring notifications - interactive experiences!

// 7 Pre-built Templates
🌍 Social     β†’ ❀️ Like β€’ πŸ’¬ Comment β€’ πŸ”— Share
πŸ’¬ Message    β†’ πŸ’¬ Reply β€’ πŸ“‚ Archive β€’ ❌ Dismiss  
πŸ“° News       β†’ πŸ“– Read β€’ ⭐ Save β€’ πŸ”— Share
⏰ Reminder   β†’ βœ… Complete β€’ ⏰ Snooze β€’ ❌ Dismiss
πŸ›οΈ E-commerce β†’ πŸ›’ Add to Cart β€’ ❀️ Wishlist β€’ πŸ‘€ View
🚨 Alert      β†’ βœ… Acknowledge β€’ πŸ” Details β€’ ❌ Dismiss
πŸ”” Default    β†’ πŸ‘€ View β€’ ❌ Dismiss

πŸ—οΈ Modern Tech Stack

  • Astro 5.x - Lightning fast, modern web framework
  • React - Interactive components that just work
  • Tailwind CSS - Beautiful, responsive design
  • TypeScript - Type-safe development
  • Docker - One-command deployment anywhere
  • VAPID - Self-hosted push notifications (no external services!)

πŸ“Š Real-Time Analytics

  • Engagement tracking
  • Popular action insights
  • User interaction metrics
  • Performance analytics

⚑ Quick Start

🐳 Docker Way (Recommended)

# Clone Cathy
git clone https://github.com/your-org/cathy.git
cd cathy

# Start chatting!
npm run docker:dev

# Visit http://localhost:4321
# Enable notifications and start sending!

πŸ› οΈ Local Development

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

🎯 Features That Make Everyone Happy

🎨 Rich Notification Templates

Send notifications that actually engage users:

# Test social notification with Like/Comment/Share actions
curl -X GET "http://localhost:4321/api/send-notification?template=social"

# Test message with Reply/Archive actions
curl -X GET "http://localhost:4321/api/send-notification?template=message"

# Custom notification with any template
curl -X POST http://localhost:4321/api/send-notification \
  -H "Content-Type: application/json" \
  -d '{
    "title": "❀️ Someone liked your post!",
    "body": "Your photo received 15 new likes",
    "template": "social",
    "image": "/your-image.jpg"
  }'

πŸ“± Professional Management Interface

  • Dashboard - Quick actions and overview
  • Templates - Visual gallery of notification types
  • Custom Builder - Create notifications with live preview
  • Analytics - Track engagement and popular actions

πŸ”§ API-First Design

// JavaScript Integration
await fetch('/api/send-notification', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    title: 'New Message',
    body: 'You have a new notification!',
    template: 'message',
    actions: [
      { action: 'reply', title: 'πŸ’¬ Reply' },
      { action: 'archive', title: 'πŸ“‚ Archive' }
    ]
  })
});

🌍 Self-Hosted Freedom

  • No external dependencies - Your data, your control
  • VAPID keys - Generated and managed by you
  • Docker deployment - Works anywhere Docker runs
  • Offline support - PWA works without internet

πŸ—οΈ Architecture

🏠 Cathy (Self-Hosted)
β”œβ”€β”€ 🎨 Frontend (Astro + React + Tailwind)
β”‚   β”œβ”€β”€ Rich Notification Manager UI
β”‚   β”œβ”€β”€ Template Gallery & Custom Builder  
β”‚   β”œβ”€β”€ Real-time Analytics Dashboard
β”‚   └── PWA Features (Offline, Install)
β”‚
β”œβ”€β”€ πŸš€ Backend (Astro API Routes)
β”‚   β”œβ”€β”€ /api/send-notification (Rich templates)
β”‚   β”œβ”€β”€ /api/subscribe (VAPID subscription)
β”‚   β”œβ”€β”€ /api/notifications/analytics (Tracking)
β”‚   └── /api/notifications/actions (Like, Archive, etc.)
β”‚
β”œβ”€β”€ πŸ”§ Service Worker (Custom)
β”‚   β”œβ”€β”€ Rich notification display
β”‚   β”œβ”€β”€ Action button handling  
β”‚   β”œβ”€β”€ Background sync for offline actions
β”‚   └── Analytics event tracking
β”‚
└── 🐳 Docker (Production Ready)
    β”œβ”€β”€ Node.js 20 Alpine container
    β”œβ”€β”€ Hot reload development
    └── One-command deployment

🀝 Community Contribution

Everyone is welcome! Whether you're:

  • πŸ§‘β€πŸ’» A developer with ideas
  • 🎨 A designer with UX improvements
  • πŸ“š A student learning PWAs
  • πŸ€– An AI helping with code
  • 🌍 Anyone wanting better notifications

How to Contribute

  1. Fork the repo
  2. Create a feature branch
  3. Build something awesome
  4. Share with the community
  5. Celebrate together! πŸŽ‰

Ideas We'd Love

  • 🌐 Internationalization (i18n)
  • 🎨 More notification templates
  • πŸ“Š Advanced analytics
  • πŸ”Œ Integration examples
  • πŸ“± Mobile app companion
  • πŸ€– AI-powered notification optimization

πŸ“š Learn & Explore

πŸŽ“ Educational Value

Cathy is perfect for learning:

  • Modern PWA development
  • Push notification implementation
  • Service Worker programming
  • Real-time web applications
  • Docker containerization
  • API design patterns

πŸ”— Resources


πŸ† Production Deployment

πŸš€ Deploy Anywhere

# Build production image
docker build -t cathy-production .

# Run with your VAPID keys
docker run -p 80:4321 \
  -e VAPID_PUBLIC_KEY="your_public_key" \
  -e VAPID_PRIVATE_KEY="your_private_key" \
  -e VAPID_EMAIL="[email protected]" \
  cathy-production

☁️ Cloud Platforms

  • Digital Ocean - $5/month droplet
  • AWS - EC2 or ECS
  • Google Cloud - Cloud Run
  • Azure - Container Instances
  • Railway - Git-based deployment
  • Fly.io - Global edge deployment

πŸ’¬ Get Chatty!

🌟 Created By

Ryan Malloy (@rsp2k)
πŸ“§ [email protected]
🌐 https://ryanmalloy.com

Built with collaboration between humans and AI - proving that the future is cooperative, not competitive! πŸ€–β€οΈπŸ§‘

🀝 Connect & Contribute

  • Issues - Found a bug? Have an idea? Let's chat!
  • Discussions - Share your Cathy implementations
  • Pull Requests - All contributions welcome
  • Community - Join our growing family

πŸ“„ License

MIT License - Because good things should be shared! 🌍

Community Grade > Enterprise Grade
CG = Everyone Benefits!

πŸŽ‰ Special Thanks

To everyone who believes that awesome technology should be accessible to all humans and AI. Together, we're building a more connected, collaborative world! 🌟

Keep being chatty! πŸ—£οΈβœ¨


Built with ❀️ by the community, for the community

About

Community-grade PWA that demonstrates how amazing technology can be built collaboratively by humans and AI for the benefit of everyone!

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages