Skip to content

marketcalls/sketchmaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sketch Maker AI

A sophisticated web application that leverages multiple AI providers and models to generate artwork, banners, and custom visual content from text descriptions. Features include custom model training, multiple format support, and a comprehensive gallery system.

SketchMaker AI Dashboard

Core Features

Multi-Provider AI Support

  • OpenAI: Advanced language models for prompt enhancement
  • Anthropic: State-of-the-art language models with Claude capabilities
  • Google Gemini: Next-generation AI with multimodal understanding
  • Groq: High-performance inference with ultra-low latency

AI Generated Social Media Expert

Banner Generation

  • SVG banner creation with precise control
  • Multiple style presets (modern, minimalist, artistic, corporate, playful, tech, elegant)
  • Dynamic text alignment and positioning
  • Automatic viewBox and preserveAspectRatio handling
  • Support for gradients, patterns, and effects

AI Generated Banner

Image Generation (FAL Integration)

  • Flux Pro: High-quality standard image generation
  • Flux Pro Ultra: Advanced generation with aspect ratio control
  • Flux Lora: Custom model training support
  • Flux Dev: Development and testing environment
  • Flux Realism: Enhanced photorealistic generation
  • Recraft V3: Advanced style control with color customization

AI Generated LinkedIn Headshot

Custom Model Training

  • Support for 5-20 training images
  • Automatic mask generation
  • Real-time training progress monitoring
  • Webhook integration for status updates
  • Training history management
  • Easy access to trained model files
  • Trigger word management

AI Generated Thumbnail

Gallery & Asset Management

  • Personal image galleries
  • Multiple format support (WebP, PNG, JPEG)
  • Automatic format conversion
  • Secure download system
  • Image metadata tracking
  • Creation history

AI Generated Art

Advanced Security

  • Role-based access control (User/Admin/Superadmin)
  • Secure API key management
  • Rate limiting protection
  • First-user superadmin privileges
  • User account management
  • Activity monitoring

Authentication System

  • Multiple authentication methods:
    • Regular username/password authentication
    • Google OAuth integration
    • Configurable authentication controls
  • Admin authentication controls:
    • Enable/disable regular authentication
    • Enable/disable Google authentication
    • Configure Google OAuth credentials
    • Manage authentication settings through admin interface
  • Google OAuth features:
    • Secure OAuth 2.0 implementation
    • Automatic account creation for new Google users
    • Account linking for existing users
    • Profile information synchronization
    • Secure callback handling
  • Authentication security:
    • Password strength requirements
    • Secure password hashing
    • Rate limiting on login attempts
    • Session management
    • Account recovery options

Email System

  • Support for both SMTP and Amazon SES
  • HTML email templates
  • Welcome emails for new users
  • Password reset functionality with OTP
  • Test email functionality
  • Email service status monitoring

User Management

  • User registration with approval system
  • Role management (User/Admin/Superadmin)
  • Account status control
  • Password reset with email verification
  • User search functionality
  • Bulk user management

Tech Stack

Backend

  • Python 3.12+
  • Flask Web Framework
  • SQLAlchemy ORM
  • Flask-Login for authentication
  • Flask-Limiter for rate limiting
  • Boto3 for AWS services
  • Multiple AI provider SDKs

Frontend

  • HTML5/CSS3
  • JavaScript (ES6+)
  • DaisyUI components
  • Tailwind CSS
  • GSAP animations
  • Responsive design

AI Generated Portrait

Database

  • SQLite (development)
  • PostgreSQL (production ready)

Email Services

  • SMTP support
  • Amazon SES integration
  • HTML email templates
  • Email queue management

Security

  • Rate limiting
  • Secure password hashing
  • Role-based access control
  • API key management

Development Tools

  • Python virtual environment
  • Git version control
  • VSCode integration

Installation

  1. Clone the repository:
git clone https://github.com/marketcalls/sketchmaker.git
cd sketchmaker
  1. Create and activate virtual environment:
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Initialize the database:
flask shell
>>> from app import db
>>> db.create_all()
>>> exit()
  1. Run the application:
python app.py

Configuration

Authentication Configuration

Configure authentication settings in the admin interface (/admin/manage/auth):

Regular Authentication

  • Enable/disable username/password authentication
  • Configure password requirements
  • Manage user registration settings

Google OAuth Setup

  1. Go to Google Cloud Console
  2. Create a new project or select existing one
  3. Configure OAuth consent screen:
    • Select "External" user type
    • Add required app information
    • Add scopes: email and profile
  4. Create OAuth credentials:
    • Create OAuth client ID
    • Select "Web application"
    • Add authorized JavaScript origins:
      http://localhost:5000 (development)
      https://your-domain.com (production)
      
    • Add authorized redirect URIs:
      http://localhost:5000/auth/google/callback (development)
      https://your-domain.com/auth/google/callback (production)
      
  5. Copy Client ID and Client Secret
  6. Configure in admin interface:
    • Enable Google authentication
    • Add Google Client ID
    • Add Google Client Secret

Required API Keys

Configure these in the admin settings after first login:

  • OpenAI, Anthropic, Google Gemini, Groq API key (configure any one)
  • FAL API key

Email Configuration

Configure either SMTP or Amazon SES:

SMTP Settings

  • SMTP Host
  • SMTP Port
  • SMTP Username
  • SMTP Password
  • TLS Support

Amazon SES Settings

  • AWS Access Key
  • AWS Secret Key
  • AWS Region

Usage Guide

  1. Initial Setup:

    • Register first user (becomes superadmin)
    • Configure API keys in settings
    • Set up email service
    • Configure authentication methods
    • Set up Google OAuth (if needed)
    • Select preferred AI provider
  2. Content Generation:

    • Create banners with custom styles
    • Generate images with various models
    • Train custom models
    • Manage gallery content
  3. Admin Functions:

    • Manage users and roles
    • Configure email settings
    • Configure authentication settings
    • Monitor system settings
    • Track user activity

Contributing

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

License

This project is licensed under the AGPL v3.0 License - see the LICENSE file for details.

Author

marketcalls

Credits

Icons and Images