Skip to content

cpanova/cpa-network

Repository files navigation

CPA Affiliate Network

telegram_badge

Table of Contents

About

This repository hosts the backend for the CPA Network, a robust and scalable platform designed for managing affiliate marketing campaigns. It provides the core infrastructure for tracking, reporting, and optimizing performance for Cost Per Action (CPA) campaigns, and now includes a server-rendered user interface for affiliates.

Keywords: Affiliate Tracking Software, CPA Platform, Affiliate Management Platform, Performance Marketing Backend and UI

Features

Affiliate UI

This project now includes a server-rendered Affiliate User Interface, This UI provides an out-of-the-box experience for affiliates to manage their campaigns and view their performance.

Key functionalities include:

  • Affiliate Login & Authentication: Secure web-based login for affiliates.
  • Main Dashboard View: A summary of performance metrics (clicks, conversions, earnings) upon login.
  • Offer Browsing: Ability to browse, search, and filter available offers.
  • Detailed Reports

Screenshots

Wiki

REST API

  • Affiliate Registration: Allows new affiliates to sign up and manage their accounts.
  • Offer Management: Comprehensive tools for creating, configuring, and managing advertising offers.
  • Conversion Import: Facilitates the import of conversion data from various sources for accurate tracking.
  • Reports: Generates detailed reports on campaign performance, conversions, and affiliate earnings.

Getting Started

Follow these steps to get a local copy of the project up and running for development and testing purposes.

Prerequisites

Ensure you have the following installed on your system:

Installation

  1. Clone the repository:

    git clone https://github.com/cpanova/cpa-network.git
  2. Configure Environment Variables:

    • Copy the example local settings file:
      cp project/settings/local.dist.py project/settings/local.py
    • Copy the example environment variables file:
      cp .env.dist .env
  3. Database schema and data

    • Migrations

      docker-compose run --rm web ./docker/wait-for-postgres.sh "poetry run python manage.py migrate"
    • Load the countries into database

      docker compose run --rm web poetry run python manage.py update_countries_plus
    • Create admin user

      docker compose run --rm web poetry run python manage.py createsuperuser
  4. Start the Development Environment:

    docker compose up
  5. Open Admin UI and Affilate UI

Contribute

We welcome contributions! Please take part in our short survey (5 questions, no email) to help us improve.

License

Distributed under the MIT License. See LICENSE for more information.