Skip to content

Adversity is an influencer marketing platform connecting brands with content creators. Sponsors create campaigns and send ad requests, while influencers browse opportunities and negotiate terms. Built with Flask and Vue.js, featuring real-time analytics and automated workflows.

Notifications You must be signed in to change notification settings

puwun/Adversity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation


Adversity

Adversity is a web application designed to connect sponsors and influencers for seamless collaboration on advertising campaigns. The platform enables sponsors to create campaigns, request influencers for promotions, and allows influencers to accept, reject, or negotiate these requests. Adversity focuses on delivering a smooth user experience, efficient data management, and actionable insights for both sponsors and influencers.


Features Features

1. Authentication & Role-based Access Control (RBAC)

  • User roles: Admin, Sponsor, Influencer.
  • Role-based permissions to ensure secure access to platform features.

2. Admin Dashboard

  • Overview of active users, campaigns, ad requests, flagged users, and inappropriate content.
  • Platform-wide statistics and reporting functionality.

3. Campaign & Ad Request Management

  • Sponsors can create, update, and delete campaigns.
  • Ad request management: influencers can accept, reject, or negotiate ad requests.

4. Search & Filtering

  • Sponsors: Search for influencers by reach, followers, niche, and engagement. Influencers: Search for public campaigns based on relevance to their niche.

5. Performance and Caching

  • Redis caching improves data retrieval speed, with appropriate cache expiry configurations.

6. Backend Jobs

  • Daily reminders for pending ad requests sent to influencers.
  • Monthly reports summarizing campaign performance for sponsors.
  • CSV export feature for detailed campaign information.

Schema Schema Diagram

Screenshot of Home Assistant Header


Prerequisites Prerequisites

Before running the application, make sure you have the following installed:

  • Python
  • Node.js
  • Redis

Man Technologist Light Skin Tone Tech Stack

  • Backend: Flask (server-side operations, RESTful API).
  • Frontend: Vue.js (dynamic UI), Bootstrap (responsive design), Jinja2 (templating).
  • Database: SQLite (data storage and management).
  • Caching: Redis (performance optimization).
  • Task Queue: Celery (background task handling).
  • Charts: Chart.js (data visualization for admin dashboard).
  • Email Testing: MailHog (development environment email simulation).

Mechanic Light Skin Tone Installation & Setup

Server Setup

  1. Clone the repository
git clone https://github.com/puwun/adversity.git
cd adversity/server
  1. Create and activate virtual environment
python -m venv venv
.\venv\Scripts\activate
  1. Install dependencies
pip install -r requirements.txt
  1. Initialize the database
flask db upgrade
  1. Start Redis server (WSL)
redis-server
  1. Start Celery worker:
celery -A app:celery_app worker --loglevel=INFO
  1. Start Celery beat:
celery -A app:celery_app beat -l INFO
  1. Start the server
flask run

Client Setup

  1. Navigate to client directory
cd ../client
  1. Install dependencies
npm install

. Start development server

npm run dev

Default Ports

  • Frontend: http://localhost:3000
  • Backend: http://localhost:5000
  • Redis: localhost:6379

About

Adversity is an influencer marketing platform connecting brands with content creators. Sponsors create campaigns and send ad requests, while influencers browse opportunities and negotiate terms. Built with Flask and Vue.js, featuring real-time analytics and automated workflows.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published