Giter VIP home page Giter VIP logo

campaign-manager's Introduction

RTB4FREE

RTB4FREE is an enterprise strength bidding platform for RTB based digital advertising. RTB4FREE has the following functionality:

  1. Campaign management
  2. Data management (DMP) capability
  3. Bidding using many different strategies
  4. Analytics on historical media and pricing information

The RTB4FREE organization on Github contains all of the repos to run a fully scalable system.

The RTB4FREE/rtb4free repo is where all RTB4FREE user documentation, developer documentation, and API explorer documentation live.

Viewing RTB4FREE Documentation

To view the documentation, navigate to:

https://rtb4free.readthedocs.io/en/latest/

Building RTB4FREE Documentation

To build a local copy of the RTB4FREE documentation, follow these steps:

Clone the rtb4free repo

Make a local directory and clone this repo:

mkdir rtb4free
cd rtb4free
git clone [email protected]:switzer/rtb4free.git
cd rtb4free

Build the user documentation

Build the user documentation, which is built on Sphinx and ReadTheDocs

cd docs
make html

This will build HTML doc in the rtb4free/docs/_build/html directory. Open the index.html file to view the documentation on your local system.

campaign-manager's People

Contributors

ploh814 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

campaign-manager's Issues

ActiveRecord::RecordInvalid: Validation failed: Interval end can't be in the past

Hi,

I am trying to install RTB4Free with Docker and docker-compose, I just copy the docker-compose.yml from:

https://rtb4free.readthedocs.io/en/latest/intro/getting-started-with-docker.html

The problem is that I am getting an error on campaign manager.

Frist, I can't access, with the user and password, [email protected] and rtb4free respectively:
image

I tried to go inside campaign-manager, and execute from scratch rake db:setup, but it I get the following response:

# rake db:setup --trace
** Invoke db:setup (first_time)
** Invoke db:schema:load_if_ruby (first_time)
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:create
rtb4free already exists
rtb4free already exists
** Invoke environment (first_time)
** Execute environment
Setting CUSTOMER_NAME to RTB4FREE (string)
Setting BIDDER_TIME_OFFSET to 0 (number)
Setting RTB4FREE_DATABASE_HOST to localhost (string)
Setting RTB4FREE_DATABASE_PORT to 3306 (number)
Setting RTB4FREE_DATABASE_USERNAME to root (string)
Setting RTB4FREE_DATABASE_PASSWORD to  (string)
Setting RTB4FREE_DATABASE_NAME to rtb4free (string)
Setting ELASTICSEARCH_ENABLE to true (boolean)
Setting ELASTICSEARCH_HOST to elastic:9200 (string)
Setting ELASTICSEARCH_KIBANA_URL to http://kibana:5601/ (string)
Setting ELASTICSEARCH_HOSTS to {"US" => "elastic1:9200"} (hash)
Setting ELASTICSEARCH_REQUESTS_INDEX to requests-* (string)
Setting ELASTICSEARCH_BIDS_INDEX to bids-* (string)
Setting ELASTICSEARCH_WINS_INDEX to wins-* (string)
Setting ELASTICSEARCH_PIXELS_INDEX to pixels-* (string)
Setting ELASTICSEARCH_CLICKS_INDEX to clicks-* (string)
Setting ELASTICSEARCH_STATS_INDEX to status-* (string)
Setting RTB_CROSSTALK_REGION_HOSTS to {"US" => "crosstalk"} (hash)
Setting RTB_CROSSTALK_PORT to 8100 (string)
Setting RTB_CROSSTALK_USER to ben* (string)
Setting RTB_CROSSTALK_PASSWORD to test (string)
Setting AWS_ACCESS_KEY_S3 to XXXXXXXX (string)
Setting AWS_SECRET_KEY_S3 to XXXXXXXX (string)
Setting AWS_REGION_S3 to us-east-1 (string)
Setting AWS_S3_BUCKET to my-rtb4free-bidder-lists (string)
Setting AWS_S3_BASE_URL to https://s3.amazonaws.com/my-rtb4free-bidder-lists (string)
Setting RTB_REPORT_TIMEZONE to America/Los_Angeles (string)
** Execute db:schema:load_if_ruby
** Invoke db:schema:load (first_time)
** Invoke environment 
** Invoke db:load_config 
** Execute db:schema:load
-- create_table("attachments", {:force=>:cascade})
   -> 0.4850s
-- create_table("banner_videos", {:force=>:cascade})
   -> 0.4517s
-- create_table("banner_videos_rtb_standards", {:id=>false, :force=>:cascade})
   -> 0.4936s
-- add_index("banner_videos_rtb_standards", ["banner_video_id"], {:name=>"index_banner_videos_rtb_standards_on_banner_video_id", :using=>:btree})
   -> 0.3337s
-- add_index("banner_videos_rtb_standards", ["rtb_standard_id"], {:name=>"index_banner_videos_rtb_standards_on_rtb_standard_id", :using=>:btree})
   -> 0.4661s
-- create_table("banners", {:force=>:cascade})
   -> 0.4115s
-- create_table("banners_rtb_standards", {:id=>false, :force=>:cascade})
   -> 0.4179s
-- add_index("banners_rtb_standards", ["banner_id"], {:name=>"index_banners_rtb_standards_on_banner_id", :using=>:btree})
   -> 0.4173s
-- add_index("banners_rtb_standards", ["rtb_standard_id"], {:name=>"index_banners_rtb_standards_on_rtb_standard_id", :using=>:btree})
   -> 0.2846s
-- create_table("campaigns", {:force=>:cascade})
   -> 0.6946s
-- create_table("campaigns_rtb_standards", {:id=>false, :force=>:cascade})
   -> 0.6930s
-- add_index("campaigns_rtb_standards", ["campaign_id"], {:name=>"index_campaigns_rtb_standards_on_campaign_id", :using=>:btree})
   -> 0.2593s
-- add_index("campaigns_rtb_standards", ["rtb_standard_id"], {:name=>"index_campaigns_rtb_standards_on_rtb_standard_id", :using=>:btree})
   -> 0.2519s
-- create_table("categories", {:force=>:cascade})
   -> 0.5084s
-- create_table("categories_documents", {:id=>false, :force=>:cascade})
   -> 0.5192s
-- add_index("categories_documents", ["category_id"], {:name=>"index_categories_documents_on_category_id", :using=>:btree})
   -> 0.2419s
-- add_index("categories_documents", ["document_id"], {:name=>"index_categories_documents_on_document_id", :using=>:btree})
   -> 0.3091s
-- create_table("countries", {:force=>:cascade})
   -> 0.5271s
-- create_table("documents", {:force=>:cascade})
   -> 0.3930s
-- create_table("exchange_attributes", {:force=>:cascade})
   -> 0.4768s
-- add_index("exchange_attributes", ["banner_id"], {:name=>"index_exchange_attributes_on_banner_id", :using=>:btree})
   -> 0.2917s
-- add_index("exchange_attributes", ["banner_video_id"], {:name=>"index_exchange_attributes_on_banner_video_id", :using=>:btree})
   -> 0.3424s
-- create_table("exchange_rtbspecs", {:force=>:cascade})
   -> 0.7611s
-- create_table("exchange_smarty_ads_rtbspecs", {:force=>:cascade})
   -> 0.6017s
-- create_table("iab_categories", {:force=>:cascade})
   -> 0.5597s
-- create_table("lists", {:force=>:cascade})
   -> 0.5430s
-- create_table("report_commands", {:force=>:cascade})
   -> 0.6267s
-- create_table("rtb_standards", {:force=>:cascade})
   -> 0.6277s
-- create_table("stats_rtb", {:force=>:cascade})
   -> 0.5856s
-- create_table("targets", {:force=>:cascade})
   -> 0.7269s
-- create_table("users", {:force=>:cascade})
   -> 0.5435s
-- initialize_schema_migrations_table()
   -> 0.0476s
-- create_table("attachments", {:force=>:cascade})
   -> 0.5778s
-- create_table("banner_videos", {:force=>:cascade})
   -> 0.4758s
-- create_table("banner_videos_rtb_standards", {:id=>false, :force=>:cascade})
   -> 0.4927s
-- add_index("banner_videos_rtb_standards", ["banner_video_id"], {:name=>"index_banner_videos_rtb_standards_on_banner_video_id", :using=>:btree})
   -> 0.3681s
-- add_index("banner_videos_rtb_standards", ["rtb_standard_id"], {:name=>"index_banner_videos_rtb_standards_on_rtb_standard_id", :using=>:btree})
   -> 0.3499s
-- create_table("banners", {:force=>:cascade})
   -> 0.4935s
-- create_table("banners_rtb_standards", {:id=>false, :force=>:cascade})
   -> 0.5435s
-- add_index("banners_rtb_standards", ["banner_id"], {:name=>"index_banners_rtb_standards_on_banner_id", :using=>:btree})
   -> 0.3588s
-- add_index("banners_rtb_standards", ["rtb_standard_id"], {:name=>"index_banners_rtb_standards_on_rtb_standard_id", :using=>:btree})
   -> 0.2673s
-- create_table("campaigns", {:force=>:cascade})
   -> 0.4350s
-- create_table("campaigns_rtb_standards", {:id=>false, :force=>:cascade})
   -> 0.6185s
-- add_index("campaigns_rtb_standards", ["campaign_id"], {:name=>"index_campaigns_rtb_standards_on_campaign_id", :using=>:btree})
   -> 0.2920s
-- add_index("campaigns_rtb_standards", ["rtb_standard_id"], {:name=>"index_campaigns_rtb_standards_on_rtb_standard_id", :using=>:btree})
   -> 0.3591s
-- create_table("categories", {:force=>:cascade})
   -> 0.4936s
-- create_table("categories_documents", {:id=>false, :force=>:cascade})
   -> 0.4763s
-- add_index("categories_documents", ["category_id"], {:name=>"index_categories_documents_on_category_id", :using=>:btree})
   -> 0.2260s
-- add_index("categories_documents", ["document_id"], {:name=>"index_categories_documents_on_document_id", :using=>:btree})
   -> 0.2507s
-- create_table("countries", {:force=>:cascade})
   -> 0.9771s
-- create_table("documents", {:force=>:cascade})
   -> 0.4675s
-- create_table("exchange_attributes", {:force=>:cascade})
   -> 0.5101s
-- add_index("exchange_attributes", ["banner_id"], {:name=>"index_exchange_attributes_on_banner_id", :using=>:btree})
   -> 0.3259s
-- add_index("exchange_attributes", ["banner_video_id"], {:name=>"index_exchange_attributes_on_banner_video_id", :using=>:btree})
   -> 0.3098s
-- create_table("exchange_rtbspecs", {:force=>:cascade})
   -> 0.4853s
-- create_table("exchange_smarty_ads_rtbspecs", {:force=>:cascade})
   -> 0.5187s
-- create_table("iab_categories", {:force=>:cascade})
   -> 0.5516s
-- create_table("lists", {:force=>:cascade})
   -> 0.6184s
-- create_table("report_commands", {:force=>:cascade})
   -> 0.8526s
-- create_table("rtb_standards", {:force=>:cascade})
   -> 0.6769s
-- create_table("stats_rtb", {:force=>:cascade})
   -> 0.4599s
-- create_table("targets", {:force=>:cascade})
   -> 0.5012s
-- create_table("users", {:force=>:cascade})
   -> 0.7117s
-- initialize_schema_migrations_table()
   -> 0.0022s
** Invoke db:structure:load_if_sql (first_time)
** Invoke db:create 
** Invoke environment 
** Execute db:structure:load_if_sql
** Invoke db:seed (first_time)
** Execute db:seed
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment 
** Execute db:abort_if_pending_migrations
rake aborted!
ActiveRecord::RecordInvalid: Validation failed: Interval end can't be in the past
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/validations.rb:79:in `raise_record_invalid'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/validations.rb:43:in `save!'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/transactions.rb:291:in `block in save!'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/transactions.rb:220:in `transaction'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/transactions.rb:291:in `save!'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/persistence.rb:51:in `create!'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/persistence.rb:48:in `block in create!'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/persistence.rb:48:in `collect'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/persistence.rb:48:in `create!'
/campaign-manager/db/seeds.rb:1:in `<top (required)>'
/usr/local/bundle/gems/activesupport-4.2.11/lib/active_support/dependencies.rb:268:in `load'
/usr/local/bundle/gems/activesupport-4.2.11/lib/active_support/dependencies.rb:268:in `block in load'
/usr/local/bundle/gems/activesupport-4.2.11/lib/active_support/dependencies.rb:240:in `load_dependency'
/usr/local/bundle/gems/activesupport-4.2.11/lib/active_support/dependencies.rb:268:in `load'
/usr/local/bundle/gems/railties-4.2.11/lib/rails/engine.rb:547:in `load_seed'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/tasks/database_tasks.rb:253:in `load_seed'
/usr/local/bundle/gems/activerecord-4.2.11/lib/active_record/railties/databases.rake:173:in `block (2 levels) in <top (required)>'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:273:in `block in execute'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:273:in `each'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:273:in `execute'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:214:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:238:in `block in invoke_prerequisites'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:236:in `each'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:236:in `invoke_prerequisites'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:213:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:194:in `invoke_with_call_chain'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/task.rb:183:in `invoke'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:160:in `invoke_task'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:116:in `each'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:116:in `block in top_level'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:125:in `run_with_threads'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:110:in `top_level'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:83:in `block in run'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
/usr/local/bundle/gems/rake-12.3.2/lib/rake/application.rb:80:in `run'
/usr/local/bundle/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
/usr/local/bundle/bin/rake:23:in `load'
/usr/local/bundle/bin/rake:23:in `<main>'
Tasks: TOP => db:setup => db:seed

I'm not much of a Ruby expert, so I don't know how I can fix it.
Can anyone give me a hint?

Thanks in advance,
Fernando

login issue

When i try to login via UI - I got exception :
ActionController::RoutingError (No route matches [GET] "/images/bg/bg.png"):

how to target APP & SITE object in targeting

I need to add traffic targeting for APP and SITE object. how I can achieve that? I've already added os and osv columns and they're working fine as they are under device Object.

I need to target the APP and SITE object. Please let me know.

Campaign out-of-budget status is runnable!

I have a scenario where the campaign is out of budget but the status is still runnable and it has not been unloaded from the bidder. I do get the alert notification about the budget "campaign not loaded, the total cost is greater than budget".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.