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
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.
Watch our community demo:
|
|
|
|
- The system currently processes custom data that is not linked to the database
- Uses
image_data
andvideo_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
image_processor.py
andvideo_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
-
Database Integration
- Implement MongoDB connection for media storage
- Create data models for products and listings
- Add database querying functionality
-
Processor Integration
- Link
image_processor.py
andvideo_processor.py
tomain.py
- Implement error handling for processing failures
- Add input validation for media files
- Link
-
UI/UX Improvements
- Add progress indicators for processing
- Implement drag-and-drop file upload
- Create responsive design for mobile users
- β Basic image and video processing
- β Initial API setup
- π Database integration
- π Enhanced error handling
- π User authentication
- π Batch processing capabilities
- π Advanced AI features
- π Social media platform integration
- π Analytics dashboard
graph LR
A[Python 3.8+] --> B[FastAPI]
B --> C[MongoDB]
B --> D[Gemini AI]
B --> E[AsyncIO]
graph LR
A[HTML5] --> B[TailwindCSS]
B --> C[JavaScript]
C --> D[Font Awesome]
# 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
- Gemini API Connection
Error: Failed to connect to Gemini API
Solution: Ensure GOOGLE_API_KEY is properly set in .env file
- MongoDB Connection
Error: MongoDB connection failed
Solution: Check MONGODB_URL format and network connectivity
- Image Processing
Error: Image processing failed
Solution: Verify image format (supported: jpg, png) and size (<5MB)
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
- Start the development server:
uvicorn main:app --reload
- Access the application at
http://localhost:8000
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 |
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]
# 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
- Find or create an issue
- Comment for assignment
- Create feature branch:
git checkout -b feature/your-feature-name
- Follow PEP 8
- Add docstrings
- Write unit tests
- Handle exceptions properly
- Use type hints
# Test your changes
python -m pytest
# Commit and push
git add .
git commit -m "feat: description"
git push origin feature/your-feature-name
- Create PR from feature branch
- Fill PR template
- Link related issue
- Await review
- Look for issues tagged with
good-first-issue
- Join our community discussions for guidance
- π¬ Join our Discord Server
- π Connect on LinkedIn
- π¦ Follow us on Twitter
- π§ Contact maintainers: varshadewangan1605@gmail.com
Thanks to these wonderful people:
This project is licensed under the MIT License - see the LICENSE file for details.
- All our amazing contributors
- Social Winter of Code for selecting our project
- Google Generative AI
- MongoDB Atlas
- TailwindCSS
- FastAPI
Made with β€οΈ by the SocioSell Community