Skip to content

Helsinki-Code/cuckoldmemes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”₯ CuckMemes - AI-Powered Meme Generator

An advanced AI-powered meme generator with a complete Content Management System, user authentication, payment processing, and admin dashboard.

πŸš€ Features

🎨 AI Meme Generation

  • Google Gemini AI Integration - Advanced AI-powered meme text generation
  • Custom Image Upload - Support for JPEG, PNG, GIF, WebP formats
  • Professional Text Overlay - Impact font with stroke effects
  • Configurable Settings - Erotic scale, language preferences, social platforms
  • Smart Hashtag Generation - AI-generated hashtags for social media

πŸ‘‘ Premium Features

  • Watermark Removal - Clean, professional memes for premium users
  • HD Quality Downloads - High-resolution image exports
  • Custom Text Control - Manual text editing capabilities
  • Advanced Styling - Font customization and positioning
  • Priority Processing - Faster AI generation for premium users

πŸ” User Management

  • JWT Authentication - Secure user registration and login
  • Premium Subscriptions - Stripe payment integration ($19.99/month)
  • User Dashboard - Meme history and account management
  • Email Notifications - Welcome and upgrade confirmation emails

πŸ“ Content Management System

  • Article Management - Full CRUD operations for blog posts
  • Bulk Import - CSV upload for mass content import
  • SEO Optimization - Meta titles, descriptions, and keywords
  • Category & Tags - Content organization and filtering
  • Status Management - Draft/Published workflow
  • Featured Images - Image support for articles

πŸ› οΈ Admin Dashboard

  • Real-time Analytics - User metrics, meme statistics, revenue tracking
  • User Management - Upgrade/downgrade users, account moderation
  • Content Moderation - Review and manage user-generated content
  • Payment Monitoring - Stripe transaction tracking
  • System Monitoring - Server health and performance metrics
  • Blog Management - Content publishing and editing tools

πŸ› οΈ Tech Stack

Backend

  • Node.js - Runtime environment
  • Express.js - Web application framework
  • MongoDB - Database with Mongoose ODM
  • JWT - Authentication tokens
  • Stripe - Payment processing
  • Google Gemini AI - AI text generation
  • Canvas API - Image processing
  • Sharp & Jimp - Image manipulation
  • Nodemailer - Email notifications
  • bcryptjs - Password hashing

Frontend

  • Vanilla JavaScript - Client-side scripting
  • Chart.js - Analytics dashboards
  • Font Awesome - Icons
  • Google Fonts - Typography
  • CSS Grid/Flexbox - Responsive layouts
  • Modern CSS - Custom properties, gradients, animations

Security & Performance

  • Helmet.js - Security headers
  • Rate Limiting - DDoS protection
  • Input Validation - Express-validator
  • CORS - Cross-origin resource sharing
  • Compression - Gzip compression
  • File Upload Limits - Multer configuration

πŸ“‹ Prerequisites

  • Node.js 16+
  • MongoDB database
  • Stripe account for payments
  • Google Cloud account for Gemini AI
  • Email service (SMTP) for notifications

βš™οΈ Installation

  1. Clone the repository

    git clone https://github.com/yourusername/cuckmemes.git
    cd cuckmemes
  2. Install dependencies

    npm install
  3. Set up environment variables Create a .env file in the root directory:

    # Database
    MONGODB_URI=mongodb://localhost:27017/cuckmemes
    
    # Authentication
    JWT_SECRET=your-super-secret-jwt-key
    
    # Stripe Payment
    STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key
    STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret
    
    # Google Gemini AI
    GEMINI_API_KEY=your-gemini-api-key
    
    # Email Configuration
    EMAIL_HOST=smtp.gmail.com
    EMAIL_PORT=587
    EMAIL_SECURE=false
    EMAIL_USER=your-email@gmail.com
    EMAIL_PASS=your-app-password
    EMAIL_FROM=CuckMemes <noreply@cuckmemes.com>
    
    # Admin Account
    ADMIN_EMAIL=admin@cuckmemes.com
    ADMIN_PASSWORD=secure-admin-password
    
    # App Configuration
    PORT=3000
    MAX_FILE_SIZE=10485760
    PREMIUM_PRICE=19.99
    WATERMARK_TEXT=CuckMemes.com
  4. Import articles to database

    node import-articles.js
  5. Start the application

    npm start
  6. Access the application

πŸ“ Project Structure

cuckmemes/
β”œβ”€β”€ articles/                    # Article content and images
β”‚   β”œβ”€β”€ images/                 # Article images
β”‚   β”œβ”€β”€ blogs/                  # HTML blog posts
β”‚   └── *.md                    # Markdown source files
β”œβ”€β”€ public/                     # Static frontend files
β”‚   β”œβ”€β”€ index.html             # Main meme generator
β”‚   β”œβ”€β”€ admin.html             # Admin dashboard
β”‚   β”œβ”€β”€ blog.html              # Blog listing
β”‚   β”œβ”€β”€ styles.css             # Global styles
β”‚   └── script.js              # Frontend JavaScript
β”œβ”€β”€ uploads/                    # User uploaded files
β”œβ”€β”€ server.js                   # Main server file
β”œβ”€β”€ articles-handler.js         # Article management logic
β”œβ”€β”€ import-articles.js          # Database import script
β”œβ”€β”€ package.json               # Dependencies and scripts
β”œβ”€β”€ .env                       # Environment variables
β”œβ”€β”€ .gitignore                 # Git ignore rules
└── README.md                  # Project documentation

πŸ”§ API Endpoints

Public Routes

  • GET / - Main meme generator
  • GET /blog - Blog listing page
  • GET /blog/:slug - Individual blog post
  • POST /api/users/register - User registration
  • POST /api/users/login - User login
  • GET /api/blog/posts - Get blog posts
  • GET /api/blog/posts/:slug - Get specific post

Authenticated Routes

  • GET /api/users/profile - User profile
  • POST /api/generate-meme - Generate meme (requires image upload)
  • GET /api/users/memes - User's meme history
  • DELETE /api/users/memes/:id - Delete user's meme

Admin Routes

  • POST /api/admin/login - Admin authentication
  • GET /api/admin/dashboard - Dashboard analytics
  • GET /api/admin/users - User management
  • GET /api/admin/content/articles - Article management
  • POST /api/admin/content/articles - Create article
  • PUT /api/admin/content/articles/:id - Update article
  • DELETE /api/admin/content/articles/:id - Delete article

Payment Routes

  • POST /api/stripe/create-checkout-session - Create payment session
  • POST /api/stripe/webhook - Stripe webhook handler

πŸš€ Deployment

Environment Setup

  1. Set up production MongoDB database
  2. Configure production email service
  3. Set up Stripe webhooks for production
  4. Configure domain and SSL certificates

Recommended Platforms

  • Heroku - Easy deployment with add-ons
  • Vercel - Serverless deployment
  • DigitalOcean - VPS with Docker
  • AWS - EC2 with RDS and S3

Production Considerations

  • Use MongoDB Atlas for database
  • Configure Redis for session storage
  • Set up CDN for static assets
  • Enable SSL/HTTPS
  • Configure monitoring and logging

πŸ“Š Features Overview

🎯 User Experience

  • Responsive Design - Works on all devices
  • Intuitive Interface - Easy-to-use meme creation
  • Real-time Feedback - Instant generation results
  • Social Integration - Platform-specific hashtags
  • Account Management - Profile and subscription control

πŸ”’ Security Features

  • Input Validation - Prevents XSS and injection attacks
  • Rate Limiting - API abuse prevention
  • File Type Validation - Secure image uploads
  • JWT Authentication - Stateless security tokens
  • Password Hashing - bcrypt encryption

πŸ“ˆ Analytics & Monitoring

  • User Registration Trends - Growth tracking
  • Meme Generation Analytics - Usage patterns
  • Revenue Tracking - Payment monitoring
  • System Performance - Server health metrics
  • Content Analytics - Blog post engagement

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google Gemini AI for advanced text generation
  • Stripe for secure payment processing
  • MongoDB for flexible data storage
  • Chart.js for beautiful analytics
  • Font Awesome for comprehensive icons

πŸ“ž Support

For support, email support@cuckmemes.com or join our Discord community.


Built with ❀️ by the CuckMemes Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors