diff --git a/app/workers/massive_likes_creator_worker.rb b/app/workers/massive_likes_creator_worker.rb
new file mode 100644
index 0000000000000000000000000000000000000000..79506a6831d6571a912b2a24990054f0f60ed616
--- /dev/null
+++ b/app/workers/massive_likes_creator_worker.rb
@@ -0,0 +1,21 @@
+class MassiveLikesCreatorWorker
+
+  include Sidekiq::Worker
+  include RepositoriesProxy
+
+  def perform(item_id, users_ids)
+
+    item = learning_object_repository.find item_id
+
+    users_ids.each do |user_id|
+      user = User.find user_id
+      begin
+        learning_object_repository.like user, item
+      rescue
+        next
+      end
+    end
+
+  end
+
+end
diff --git a/app/workers/massive_views_creator_worker.rb b/app/workers/massive_views_creator_worker.rb
new file mode 100644
index 0000000000000000000000000000000000000000..a5903a0a87314ecb87074abfc47cf1e90e4ab418
--- /dev/null
+++ b/app/workers/massive_views_creator_worker.rb
@@ -0,0 +1,21 @@
+class MassiveViewsCreatorWorker
+
+  include Sidekiq::Worker
+  include RepositoriesProxy
+
+  def perform(item_id, users_ids)
+
+    item = learning_object_repository.find item_id
+
+    users_ids.each do |user_id|
+      user = User.find user_id
+      begin
+        learning_object_repository.increment_views user, item
+      rescue
+        next
+      end
+    end
+
+  end
+
+end
diff --git a/lib/tasks/fakeData.rake b/lib/tasks/fakeData.rake
new file mode 100644
index 0000000000000000000000000000000000000000..0552285fb647d4685e70635b71219ae13b0bc49e
--- /dev/null
+++ b/lib/tasks/fakeData.rake
@@ -0,0 +1,89 @@
+namespace :fakedata do
+  desc "Fake data generation tasks"
+
+  task generate_users: :environment do
+    desc "Generate fake Users"
+
+    include RepositoriesProxy
+
+    total_new_users = 50
+
+    (1..total_new_users).each do |i|
+      user = User.new(
+              :name => "User#{i}",
+              :email => "user#{i}@inf.ufpr.br",
+              :password => "1234567890",
+              :password_confirmation => "1234567890"
+            )
+      user.save
+    end
+  end
+
+  task generate_data: :environment do
+    desc "Generate fake user Likes/Views data"
+
+    include RepositoriesProxy
+
+    # Quantity of items fetched on each iteration
+    limit = 100
+
+    # Start point from where items will be fetched
+    offset = 0
+
+    users = User.all
+
+    loop do
+
+      begin
+        # Get items from dspace (from offset to offset+limit)
+        learning_objects = learning_object_repository.all(limit,offset)
+      rescue
+        # Sleeps for a while to wait database's recovery
+        sleep(30.seconds)
+        # Goes to next iteration to retry
+        next
+      else
+        # Terminate loop if there are no more items to import
+        break if learning_objects.empty?
+
+        # Increment offset, to get new items on next iteration
+        offset = offset + limit
+
+        learning_objects.each do |lo|
+
+          users_views = []
+          users_likes = []
+
+          users.each do |user|
+            # Randomize "Views"
+            if random_check(30)
+              users_views << user.  id
+              # Randomize "Likes"
+              if random_check(70)
+                users_likes << user.id
+              end
+            end
+          end
+
+          MassiveViewsCreatorWorker.perform_async(lo.id, users_views)
+          MassiveLikesCreatorWorker.perform_async(lo.id, users_likes)
+
+        end
+
+      end
+
+    end
+
+  end
+
+  private
+
+  def random_check(threshold)
+    if rand(1..100) <= threshold
+      return true
+    else
+      return false
+    end
+  end
+
+end