Skip to content

The Social Media to Product Listings Generator is an innovative open-source tool that bridges the gap between social media content and e-commerce platforms. By leveraging AI technology, it automatically converts social media product showcases into structured, detailed product listings suitable for e-commerce platforms like Amazon.

Notifications You must be signed in to change notification settings

Varsha-1605/SocioSell

Repository files navigation

πŸŽ‰ Selected for Social Winter of Code 2025! πŸŽ‰

SocioSell: Social Media to Product Listing Generator πŸ›οΈ

Python FastAPI MongoDB Gemini AI TailwindCSS License PRs Welcome Social Winter of Code Contributors

An open-source initiative to transform social media content into comprehensive Amazon-style product listings using cutting-edge AI technology.

🌟 Features β€’ βš™οΈ Installation β€’ πŸš€ Usage β€’ πŸ’‘ API Endpoints β€’ 🀝 Contributing β€’ πŸ‘₯ Community

Project Banner


🎯 Project Vision

SocioSell aims to bridge the gap between social media content and e-commerce by providing an open-source solution for automated product listing generation. Whether you're a developer, marketer, or e-commerce enthusiast, your contributions can help shape the future of social commerce.

πŸ“Ί Project Demo

Watch our community demo:

πŸŽ₯ Watch Demo


🌟 Features

πŸ€– AI-Powered Analysis

  • Google Generative AI integration
  • Smart product detection
  • Automatic feature extraction

πŸ”„ Smart Processing

  • Real-time processing
  • Async operations
  • Intelligent matching

🎯 Product Categories

  • Electronics
  • Fashion
  • Home Decor
  • Beauty
  • Sports Equipment

πŸ’« User Experience

  • Modern UI/UX
  • Drag-and-drop uploads
  • Interactive comparisons

⚠️ Current Implementation Status and Limitations

Processing Limitations

  • The system currently processes custom data that is not linked to the database
  • Uses image_data and video_data for accessing media details
  • Maximum processing capacity (due to Gemini API constraints):
    • Images: Maximum 5 images per request
    • Videos: Maximum 3 videos, each limited to 10 seconds

Implementation Notes for Contributors

  • image_processor.py and video_processor.py are implemented and functional
  • Integration needed: These processors need to be linked to main.py
  • Database integration is pending and is a key area for contribution

Priority Areas for Contribution

  1. Database Integration

    • Implement MongoDB connection for media storage
    • Create data models for products and listings
    • Add database querying functionality
  2. Processor Integration

    • Link image_processor.py and video_processor.py to main.py
    • Implement error handling for processing failures
    • Add input validation for media files
  3. UI/UX Improvements

    • Add progress indicators for processing
    • Implement drag-and-drop file upload
    • Create responsive design for mobile users

πŸ›£οΈ Project Roadmap

Phase 1 (Current)

  • βœ… Basic image and video processing
  • βœ… Initial API setup
  • πŸ”„ Database integration

Phase 2 (Upcoming)

  • πŸ“‹ Enhanced error handling
  • πŸ“‹ User authentication
  • πŸ“‹ Batch processing capabilities

Phase 3 (Future)

  • πŸ“‹ Advanced AI features
  • πŸ“‹ Social media platform integration
  • πŸ“‹ Analytics dashboard

πŸ”§ Technology Stack

Backend Infrastructure

graph LR
    A[Python 3.8+] --> B[FastAPI]
    B --> C[MongoDB]
    B --> D[Gemini AI]
    B --> E[AsyncIO]
Loading

Frontend Technologies

graph LR
    A[HTML5] --> B[TailwindCSS]
    B --> C[JavaScript]
    C --> D[Font Awesome]
Loading

βš™οΈ Development Setup

# Clone repository
git clone https://github.com/Varsha-1605/SocioSell.git
cd SocioSell

# Set up virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Create .env file
cat > .env << EOL
GOOGLE_API_KEY=your_google_api_key
MONGODB_URL=your_mongodb_connection_string
EOL

# Initialize database
python database_setup.py

Troubleshooting Common Issues

  1. Gemini API Connection
Error: Failed to connect to Gemini API
Solution: Ensure GOOGLE_API_KEY is properly set in .env file
  1. MongoDB Connection
Error: MongoDB connection failed
Solution: Check MONGODB_URL format and network connectivity
  1. Image Processing
Error: Image processing failed
Solution: Verify image format (supported: jpg, png) and size (<5MB)

πŸ“ Project Structure

SocioSell/
β”œβ”€β”€ πŸ“œ main.py                    # FastAPI application entry point
β”œβ”€β”€ πŸ“ .github/                   # GitHub specific files
β”‚   └── ISSUE_TEMPLATE/          # Issue templates for contributions
β”œβ”€β”€ πŸ“ static/                    # Static assets and files
β”œβ”€β”€ πŸ“ templates/                 # HTML templates
β”œβ”€β”€ πŸ”§ content_processor.py       # Content analysis and processing
β”œβ”€β”€ πŸ’Ύ database_setup.py          # Database initialization
β”œβ”€β”€ πŸ–ΌοΈ image_processor.py         # Image processing module
β”œβ”€β”€ πŸ“Š image_data.py              # Image data structures
β”œβ”€β”€ πŸŽ₯ video_processor.py         # Video processing module
β”œβ”€β”€ πŸ“Š video_data.py              # Video data structures
β”œβ”€β”€ πŸ§ͺ test_image_processor.py    # Image processing tests
β”œβ”€β”€ πŸ§ͺ test_video_processor.py    # Video processing tests
β”œβ”€β”€ πŸ“‹ requirements.txt           # Project dependencies
β”œβ”€β”€ πŸ“ README.md                  # Project documentation
β”œβ”€β”€ πŸ”’ .env                       # Environment variables
└── πŸ“ .gitignore                # Git ignore rules

πŸš€ Usage

  1. Start the development server:
uvicorn main:app --reload
  1. Access the application at http://localhost:8000

πŸ’‘ API Endpoints

Endpoint Method Description
/upload/ POST Upload & analyze products
/search/{title} GET Search product database
/listings/{product_id} GET Get listing details
/compare/{product_id} GET Compare products

🀝 Contributing

We warmly welcome contributions from developers of all skill levels! Here's how you can help:

graph TD
    A[Fork Repository] --> B[Create Branch]
    B --> C[Make Changes]
    C --> D[Commit Changes]
    D --> E[Push to Branch]
    E --> F[Create Pull Request]
Loading

Detailed Contribution Guide

Star this repository ⭐

1. Environment Setup

# Fork and clone
git fork https://github.com/Varsha-1605/SocioSell
git clone [your-fork-url]
cd SocioSell

# Setup virtual environment
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

# Configure environment variables
cp .env.example .env
# Edit .env with your API keys

2. Development Workflow

  1. Find or create an issue
  2. Comment for assignment
  3. Create feature branch:
git checkout -b feature/your-feature-name

3. Code Guidelines

  • Follow PEP 8
  • Add docstrings
  • Write unit tests
  • Handle exceptions properly
  • Use type hints

4. Submitting Changes

# Test your changes
python -m pytest

# Commit and push
git add .
git commit -m "feat: description"
git push origin feature/your-feature-name

5. Pull Request Process

  1. Create PR from feature branch
  2. Fill PR template
  3. Link related issue
  4. Await review

🎯 Good First Issues

πŸ‘₯ Community

🌟 Contributors

Thanks to these wonderful people:

πŸ“„ License

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

πŸ™ Acknowledgments


Made with ❀️ by the SocioSell Community

⬆ Back to Top

About

The Social Media to Product Listings Generator is an innovative open-source tool that bridges the gap between social media content and e-commerce platforms. By leveraging AI technology, it automatically converts social media product showcases into structured, detailed product listings suitable for e-commerce platforms like Amazon.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published