A modern web platform connecting brands with influencers for authentic partnerships and campaign management.
Features β’ Installation β’ Usage β’ API Routes β’ Contributing
- About
- Features
- Tech Stack
- Installation
- Usage
- Project Structure
- Database Schema
- API Routes
- User Roles
- Screenshots
- Contributing
- License
- Contact
IESCP (Influencer Engagement & Sponsor Coordination Platform) is a comprehensive web application designed to bridge the gap between brands (sponsors) and content creators (influencers). The platform facilitates seamless collaboration, campaign management, and ad request workflows.
- π― Smart Matching: Connect sponsors with the perfect influencers based on niche and reach
- π Campaign Analytics: Track campaign progress and performance metrics
- πΌ Streamlined Management: Centralized dashboard for all stakeholders
- π Secure Platform: Role-based access control and data protection
- π¬ Easy Communication: Built-in ad request and negotiation system
- β Create and manage advertising campaigns
- β Search and filter influencers by category, niche, and reach
- β Send ad requests to influencers
- β Track campaign progress and budget utilization
- β Manage multiple campaigns simultaneously
- β Public and private campaign visibility options
- β Browse available public campaigns
- β Receive and manage ad requests from sponsors
- β Accept, reject, or negotiate ad requests
- β Track completed ads and earnings
- β Profile management with reach statistics
- β Campaign discovery based on niche
- β User management (flag/unflag users)
- β Campaign moderation (flag/unflag campaigns)
- β Platform statistics and analytics dashboard
- β Handle unflag requests from users
- β Delete inappropriate users or campaigns
- β Complete platform oversight
- Framework: Flask 3.0.3
- ORM: SQLAlchemy 2.0.31
- Database: SQLite (Development)
- Authentication: Flask-Login 0.6.3
- Migrations: Flask-Migrate 4.0.7
- Template Engine: Jinja2 3.1.4
- CSS Framework: Bootstrap 5.3.3
- Icons: Emoji-based icons
- Animations: Custom CSS3 animations
- Python: 3.11+
- Package Manager: pip
- Version Control: Git
- Python 3.11 or higher
- pip (Python package manager)
- Git
git clone https://github.com/22f3002042/IESC-platform.git
cd IESC-platformWindows:
python -m venv venv
.\venv\Scripts\activatemacOS/Linux:
python3 -m venv venv
source venv/bin/activatepip install -r requirement.txt# Run Python interactive shell
python
# Execute the following commands
>>> from main import app, db
>>> with app.app_context():
... db.create_all()
>>> exit()python main.pyThe application will be available at http://localhost:5000/
- Access the Landing Page: Navigate to
http://localhost:5000/ - Admin Access: Use admin credentials to access the admin panel
- Register as Sponsor: Click "Sign Up" under the Sponsor card
- Register as Influencer: Click "Sign Up" under the Influencer card
Create an admin user manually in the database or through the app initialization:
- Email: admin@gmail.com
- Password: admin123
- Role: admin
- Sign Up: Register with company details, industry, and budget
- Create Campaign: Set up campaigns with goals, budget, and visibility
- Find Influencers: Search for influencers by category, niche, and reach
- Send Ad Requests: Send personalized ad requests with payment details
- Track Progress: Monitor campaign progress and ad completion
- Sign Up: Register with category, niche, and reach information
- Browse Campaigns: Explore public campaigns matching your niche
- Manage Requests: Review incoming ad requests from sponsors
- Accept/Reject: Decide on ad requests based on your preferences
- Track Earnings: Monitor completed ads and payment amounts
- Login: Access admin dashboard
- Monitor Users: View all users, flag/unflag inappropriate accounts
- Moderate Campaigns: Review and flag campaigns violating policies
- Handle Requests: Approve or reject unflag requests from users
- Analytics: View platform statistics and trends
IESC-platform/
β
βββ instance/
β βββ iesc.db # SQLite database file
β
βββ templates/ # HTML templates
β βββ base.html # Base template with navbar
β βββ home.html # Landing page
β βββ login.html # Login page
β β
β βββ admin/ # Admin templates
β β βββ admin_dash.html
β β βββ admin_profile.html
β β βββ manage_users.html
β β
β βββ campaigns/ # Campaign templates
β β βββ admin_cam/
β β βββ influencer_cam/
β β βββ sponsor_cam/
β β
β βββ influencer/ # Influencer templates
β β βββ influencer_dash.html
β β βββ influencer_profile.html
β β βββ influencer_signup.html
β β
β βββ sponsor/ # Sponsor templates
β βββ sponsor_dash.html
β βββ sponsor_profile.html
β βββ sponsor_signup.html
β
βββ __pycache__/ # Python cache files
β
βββ main.py # Main application file with routes
βββ models.py # Database models (User, Campaign, AdRequest)
βββ db.py # Database initialization
βββ requirement.txt # Project dependencies
βββ README.md # Project documentation (this file)
βββ DESIGN_UPDATES.md # Design documentation
βββ PREVIEW_GUIDE.md # Preview guide
βββ BEFORE_AFTER.md # Design comparison
- id (Primary Key)
- username (Unique, Required)
- email (Unique, Required)
- password (Required)
- role (admin/sponsor/influencer)
- flagged (Boolean, default: False)
- unflag_request (Text)
# Sponsor-specific fields
- company_name
- industry
- budget
# Influencer-specific fields
- category
- niche
- reach (followers/subscribers count)- id (Primary Key)
- title (Required)
- description (Required)
- niche (Required)
- start_date (Date)
- end_date (Date)
- budget (Float)
- visibility (public/private)
- status (active/completed)
- goals (Text)
- sponsor_id (Foreign Key -> Users)
- is_flagged (Boolean, default: False)- id (Primary Key)
- campaign_id (Foreign Key -> Campaigns)
- influencer_id (Foreign Key -> Users)
- sponsor_id (Foreign Key -> Users)
- details (Text)
- payment_amount (Float)
- status (Pending/Accepted/Rejected/Completed)
- ads_required (Integer)
- ads_completed (Integer)
- updated_at (DateTime)- One Sponsor β Many Campaigns
- One Campaign β Many AdRequests
- One Influencer β Many AdRequests
- Cascading deletes for data integrity
| Method | Route | Description |
|---|---|---|
| GET | / |
Redirect to home |
| GET | /home |
Landing page |
| GET/POST | /login |
User login |
| GET/POST | /sponsor_signup |
Sponsor registration |
| GET/POST | /influencer_signup |
Influencer registration |
| GET | /logout |
User logout |
| Method | Route | Description |
|---|---|---|
| GET | /admin_profile |
Admin profile page |
| POST | /admin/edit_admin_profile |
Update admin profile |
| GET | /admin_dash |
Admin dashboard with statistics |
| GET | /admin/manage_users |
User management panel |
| POST | /admin/users/flag/<user_id> |
Flag a user |
| POST | /admin/users/unflag/<user_id> |
Unflag a user |
| POST | /admin/users/delete/<user_id> |
Delete a user |
| GET | /admin/unflag_requests |
View unflag requests |
| POST | /admin/approve_unflag/<user_id> |
Approve unflag request |
| GET | /admin/campaigns |
Campaign management |
| POST | /admin/campaigns/flag/<campaign_id> |
Flag a campaign |
| POST | /admin/flagged_campaigns/unflag/<campaign_id> |
Unflag campaign |
| POST | /admin/flagged_campaigns/delete/<campaign_id> |
Delete campaign |
| Method | Route | Description |
|---|---|---|
| GET | /sponsor_profile |
Sponsor profile page |
| POST | /sponsor_profile/edit |
Update sponsor profile |
| GET | /sponsor_dash |
Sponsor dashboard |
| GET | /sponsor_campaigns |
View sponsor campaigns |
| POST | /sponsor/campaigns/create |
Create new campaign |
| POST | /sponsor/campaigns/edit/<campaign_id> |
Update campaign |
| POST | /sponsor/campaigns/delete/<campaign_id> |
Delete campaign |
| GET | /sponsor/campaigns/view/<campaign_id> |
View campaign details |
| GET | /sponsor/search_influencers |
Search influencers |
| GET | /sponsor/ad_requests |
Manage ad requests |
| POST | /sponsor/ad_requests/create |
Create ad request |
| Method | Route | Description |
|---|---|---|
| GET | /influencer_profile |
Influencer profile page |
| POST | /influencer_profile/edit |
Update influencer profile |
| GET | /influencer_dash |
Influencer dashboard |
| GET | /influencer/public_campaigns |
Browse public campaigns |
| GET | /influencer/campaigns/<campaign_id> |
View campaign details |
| GET | /influencer/ad_requests |
Manage ad requests |
| POST | /influencer/ad_requests/<request_id>/accept |
Accept ad request |
| POST | /influencer/ad_requests/<request_id>/reject |
Reject ad request |
| POST | /influencer/ad_requests/<request_id>/complete |
Mark ad completed |
- Access Level: Full platform access
- Capabilities: User management, content moderation, analytics
- Restrictions: Cannot create campaigns or ad requests
- Dashboard: Platform-wide statistics and management tools
- Access Level: Campaign and influencer management
- Capabilities: Create campaigns, search influencers, send ad requests
- Restrictions: Cannot access admin features
- Dashboard: Campaign performance and ad request tracking
- Access Level: Campaign browsing and ad request management
- Capabilities: Browse campaigns, accept/reject requests, track earnings
- Restrictions: Cannot create campaigns
- Dashboard: Ad request status and earnings overview
Modern gradient design with animated elements and clear CTAs.
- Admin Dashboard: User statistics, campaign overview, flagged content
- Sponsor Dashboard: Campaign metrics, budget tracking, influencer reach
- Influencer Dashboard: Pending requests, completed ads, earnings
- Create/Edit campaigns with rich details
- Public/Private visibility options
- Progress tracking with percentage completion
- Detailed request forms
- Status tracking (Pending/Accepted/Rejected/Completed)
- Payment amount negotiation
Contributions are welcome! Please follow these steps:
- Fork the repository
git clone https://github.com/22f3002042/IESC-platform.git- Create a feature branch
git checkout -b feature/YourFeatureName- Commit your changes
git commit -m "Add: Your feature description"- Push to the branch
git push origin feature/YourFeatureName- Open a Pull Request
- Follow PEP 8 style guide for Python code
- Use meaningful variable and function names
- Add comments for complex logic
- Write docstrings for functions and classes
- Test thoroughly before submitting PR
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 IESCP
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software...
- GitHub: @22f3002042
- Repository: IESC-platform
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Flask: For the amazing web framework
- Bootstrap: For responsive UI components
- SQLAlchemy: For elegant database management
- Contributors: Thanks to all contributors who help improve this project
- β Initial release
- β Core functionality for all three user roles
- β Campaign and ad request management
- β Modern responsive UI with animations
- β Admin moderation tools
- β User flag/unflag system
- π Real-time notifications
- π Advanced analytics and reporting
- π Payment gateway integration
- π Messaging system between users
- π Campaign templates
- π Export data functionality
- π API for mobile app integration
Made with β€οΈ for connecting brands and influencers
β Star this repository if you find it helpful!