diff --git a/Gemfile b/Gemfile
index decd76ff1a6fbf0d4127b9cafed50f45dc50630f..3e38292c01202d6dc380022a5f2e09709dd9fa3c 100644
--- a/Gemfile
+++ b/Gemfile
@@ -35,6 +35,8 @@ gem 'orientdb4r'
 # web server
 gem 'puma'
 
+gem 'rufus-scheduler'
+
 group :development, :test do
   gem 'better_errors'
   # Call 'byebug' anywhere in the code to stop execution and get a debugger console
diff --git a/Gemfile.lock b/Gemfile.lock
index 6411c69288061710b4f533e3451510ad25b7d2d4..8e8fa8fd423c085d90fd1aa49d5dbd13bd688af7 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -207,6 +207,7 @@ GEM
       parser (>= 2.2.0, < 3.0)
       reek (= 1.6.5)
       virtus (~> 1.0)
+    rufus-scheduler (3.1.4)
     sass (3.4.18)
     sass-rails (5.0.4)
       railties (>= 4.0.0, < 5.0)
@@ -297,6 +298,7 @@ DEPENDENCIES
   rmagick
   rsolr (~> 1.0.12)
   rubycritic
+  rufus-scheduler
   sass-rails (~> 5.0)
   sdoc (~> 0.4.0)
   shoulda
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index 0bba296bea5d4d68f361a7a9cd418edade099971..8a653cb364e172b3ed9420d3255de776c3cd4a7f 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -22,6 +22,10 @@ $(document).ready(function(){
   size_c = readCookie('fontSize');
   if (size_c != null) {
     document.body.style.fontSize = size_c + 'px';
+    $('.dropdown-menu').css('fontSize', document.body.style.fontSize);
+    $('h1').each(function(index,value) {
+      $(this).css('fontSize', (parseFloat($(this).css('fontSize')) + (size_c - 15)) + 'px');
+    });
   }
   Contrast();
 });
@@ -57,14 +61,72 @@ function resizeText(increment) {
   if (increment > 0) {
     if (size < 25) {
       document.body.style.fontSize = parseFloat(document.body.style.fontSize) + increment + "px";
+      $('.dropdown-menu').css('fontSize', document.body.style.fontSize);
+      $('h1').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h2').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h3').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h4').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h5').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h6').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
     }
   } else if(increment < 0){
     if (size > 10) {
       document.body.style.fontSize = parseFloat(document.body.style.fontSize) + increment + "px";
+      $('.dropdown-menu').css('fontSize', document.body.style.fontSize);
+      $('h1').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h2').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h3').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h4').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h5').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
+      $('h6').each(function(index,value) {
+        $(this).css('fontSize', parseFloat($(this).css('fontSize')) + increment + 'px');
+      });
     }
   }
   else{
-    document.body.style.fontSize = '15px'
+    size = parseFloat(document.body.style.fontSize);
+    document.body.style.fontSize = '15px';
+    $('.dropdown-menu').css('fontSize', document.body.style.fontSize);
+    $('h1').each(function(index,value) {
+      $(this).css('fontSize',Math.abs(parseFloat($(this).css('fontSize'))-(size-15)) + 'px');
+    });
+    $('h2').each(function(index,value) {
+      $(this).css('fontSize',Math.abs(parseFloat($(this).css('fontSize'))-(size-15)) + 'px');
+    });
+    $('h3').each(function(index,value) {
+      $(this).css('fontSize',Math.abs(parseFloat($(this).css('fontSize'))-(size-15)) + 'px');
+    });
+    $('h4').each(function(index,value) {
+      $(this).css('fontSize',Math.abs(parseFloat($(this).css('fontSize'))-(size-15)) + 'px');
+    });
+    $('h5').each(function(index,value) {
+      $(this).css('fontSize',Math.abs(parseFloat($(this).css('fontSize'))-(size-15)) + 'px');
+    });
+    $('h6').each(function(index,value) {
+      $(this).css('fontSize',Math.abs(parseFloat($(this).css('fontSize'))-(size-15)) + 'px');
+    });
   }
   createCookie('fontSize', parseFloat(document.body.style.fontSize), 365);
 }
@@ -88,6 +150,15 @@ function Contrast() {
     $('#footer').removeClass("footer-contraste");
     $('#footer div').removeClass("footer-contraste");
     $('.dropdown-menu').removeClass("dropdown-menu-contrast");
+    $('.general_highlights').removeClass("general_highlights-contrast");
+    $(".nav > li > a").css('background-color','none');
+    $(".nav > li > a").hover(
+      function(){
+        $(this).css('background-color','#eee')
+      },function(){
+        $(this).css('background-color','transparent')
+      }
+    );
   }else {
     $('body').addClass("contraste");
     $('body').addClass("alto-contraste");
@@ -96,6 +167,15 @@ function Contrast() {
     $('#footer').addClass("footer-contraste");
     $('#footer div').addClass("footer-contraste");
     $('.dropdown-menu').addClass("dropdown-menu-contrast");
+    $('.general_highlights').addClass("general_highlights-contrast");
+    $(".nav > li > a").css('background-color','#transparent');
+    $(".nav > li > a").hover(
+      function(){
+        $(this).css('background-color','#000');
+      }, function() {
+        $(this).css('background-color','#transparent')
+      }
+    );
   }
 }
 
diff --git a/app/assets/stylesheets/application.css.scss b/app/assets/stylesheets/application.css.scss
index c5ae1f36fa5702cec25ffc63fe395408159bbd67..9342e9a7227e8166fe65e3e550b642cc473714df 100644
--- a/app/assets/stylesheets/application.css.scss
+++ b/app/assets/stylesheets/application.css.scss
@@ -42,9 +42,58 @@
 
 .dropdown-menu-contrast{
   background-color: black !important;
+  border: 1px solid white;
+}
+.general_highlights-contrast{
+  border: 1px solid white;
 }
 /*---------------*/
 
+.padding-left-0{
+  padding-left: 0 !important;
+}
+.padding-right-0{
+  padding-right: 0 !important;
+}
+.general_highlights{
+  padding-bottom: 20px;
+  padding-left: 0px;
+}
+.font_roboto_light{
+  font-family: 'Roboto', sans-serif;
+}
+#mec_portais{
+  background-color: #2E3192;
+  width: 100px;
+  height: 50px;
+}
+#mec_portais2{
+  background-color: #2E3192;
+  width: 100px;
+  height: 50px;
+  margin-left: 5px;
+}
+.rede_social{
+  width: 30px;
+  height: 30px;
+  border-radius: 5px;
+}
+#rede_social1{
+  background-color: #2E3192;
+}
+#rede_social2{
+  background-color: #C01A2C;
+  margin-left: 5px;
+}
+#rede_social3{
+  background-color: #00ADEF;
+  margin-left: 5px;
+}
+#rede_social4{
+  background-color: #6A5E50;
+  margin-left: 5px;
+}
+
 #barra-brasil .brasil-flag{
   height: 50px !important;
 }
diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb
index dc53b3325d9eaf36e0445c15f4ebd50072aef913..37b8bd2034c9bb99f3b7830f66553a342ea4e03c 100644
--- a/app/controllers/welcome_controller.rb
+++ b/app/controllers/welcome_controller.rb
@@ -1,6 +1,17 @@
 class WelcomeController < ApplicationController
+
   def index
-    @highlights = repository.for(:highlight).find_all
+    @Carousel = Array.new
+    @General = Array.new
+    mainPage = repository.for(:mainPage).find_all
+
+    @Carousel = mainPage[0]["carousel"].collect do |id|
+      repository.for(:webLink).find_by_id(id)[0] #orientdb returns a hash inside an array, I want only the hash
+    end
+
+    @General = mainPage[0]["highlights"].collect do |id|
+      repository.for(:object).find_by_id(id)[0]
+    end
   end
 
   def faq
diff --git a/app/repositories/active_record/carousel_repository.rb b/app/repositories/active_record/carousel_repository.rb
new file mode 100644
index 0000000000000000000000000000000000000000..bfec616aa00ec56993f360f1f7cc03b22d12133c
--- /dev/null
+++ b/app/repositories/active_record/carousel_repository.rb
@@ -0,0 +1,14 @@
+module ActiveRecord
+  class CarouselRepository
+
+    def find_all
+    end
+
+    def find_by_id
+    end
+
+    def insert_data(name, url)
+    end
+
+  end
+end
diff --git a/app/repositories/active_record/learning_object_repository.rb b/app/repositories/active_record/learning_object_repository.rb
new file mode 100644
index 0000000000000000000000000000000000000000..66a3d4ea20afc0bacc80dbe47589defee4f0b22d
--- /dev/null
+++ b/app/repositories/active_record/learning_object_repository.rb
@@ -0,0 +1,14 @@
+module ActiveRecord
+  class LearningObjectRepository
+
+    def find_all
+    end
+
+    def find_by_id
+    end
+
+    def insert_data(name, url)
+    end
+
+  end
+end
diff --git a/app/repositories/active_record/main_page_repository.rb b/app/repositories/active_record/main_page_repository.rb
new file mode 100644
index 0000000000000000000000000000000000000000..656aab684c7eaa33e845387038aee21882f2615f
--- /dev/null
+++ b/app/repositories/active_record/main_page_repository.rb
@@ -0,0 +1,14 @@
+module ActiveRecord
+  class MainPageRepository
+
+    def find_all
+    end
+
+    def find_by_id
+    end
+
+    def insert_data(name, url)
+    end
+
+  end
+end
diff --git a/app/repositories/active_record/highlight_repository.rb b/app/repositories/active_record/weblink_repository.rb
similarity index 64%
rename from app/repositories/active_record/highlight_repository.rb
rename to app/repositories/active_record/weblink_repository.rb
index 39afb4fc9432756044326b33dd6a197b7968c12b..a717c04fd8f450ca3d0e531ee82075d8614bde0e 100644
--- a/app/repositories/active_record/highlight_repository.rb
+++ b/app/repositories/active_record/weblink_repository.rb
@@ -1,9 +1,12 @@
 module ActiveRecord
-  class HighlightRepository
+  class WeblinkRepository
 
     def find_all
     end
 
+    def find_by_id
+    end
+
     def insert_data(name, url)
     end
 
diff --git a/app/repositories/orient_db/carousel_repository.rb b/app/repositories/orient_db/carousel_repository.rb
new file mode 100644
index 0000000000000000000000000000000000000000..a8a2d8c0a0c529dba2d7a43e4d02a0adfe9f5dd5
--- /dev/null
+++ b/app/repositories/orient_db/carousel_repository.rb
@@ -0,0 +1,24 @@
+module OrientDb
+  class CarouselRepository < Base
+
+    def find_all
+      connection.query "SELECT FROM Carousel"
+    end
+
+    def find_by_id(id)
+      connection.query "SELECT FROM Carousel where @rid = '#{id}'"
+    end
+
+    def insert_data (name,url)
+       connection.command "INSERT INTO Carousel (name,URL) VALUES ('#{name}','#{url}')"
+    end
+
+
+    def destroy_data(id)
+        return @connection.command "DELETE VERTEX Carousel where @rid = '#{id}'"
+      rescue
+        return nil
+    end
+
+  end
+end
diff --git a/app/repositories/orient_db/learning_object_repository.rb b/app/repositories/orient_db/learning_object_repository.rb
index 9b2a24f7f1ad09145190170473b4470088884637..4be2e7802d881d77edb676d289616163bf691ded 100644
--- a/app/repositories/orient_db/learning_object_repository.rb
+++ b/app/repositories/orient_db/learning_object_repository.rb
@@ -21,8 +21,6 @@ module OrientDb
     def destroy(object)
     end
 
-    private
-
     def initialize_learning_object args
       LearningObject.new(
         :id => args["@rid"],
@@ -42,6 +40,39 @@ module OrientDb
 
     def has(rid)
       connection.query "SELECT expand(in) FROM (SELECT expand(out_has) FROM User WHERE @rid=#{rid})"
+
+    def find_all
+      connection.query "SELECT FROM LearningObject"
+    end
+
+    def find_by_id(id)
+      connection.query "SELECT FROM LearningObject where @rid = '#{id}'"
+    end
+
+    def insert_data (name,url)
+       connection.command "INSERT INTO LearningObject (name,URL) VALUES ('#{name}','#{url}')"
+    end
+
+
+    def destroy_data(id)
+        return @connection.command "DELETE VERTEX LearningObject where @rid = '#{id}'"
+      rescue
+        return nil
+    end
+
+    def get_likes(id)
+      likes = connection.query "select outE('Likes') from #{id}"
+      return likes[0]["outE"]
+    end
+
+    def get_downloads(id)
+      downloads = connection.query "select outE('Downloads') from #{id}"
+      return downloads[0]["outE"]
+    end
+
+    def get_views(id)
+      views = connection.query "select outE('Views') from #{id}"
+      return views[0]["outE"]
     end
 
   end
diff --git a/app/repositories/orient_db/main_page_repository.rb b/app/repositories/orient_db/main_page_repository.rb
new file mode 100644
index 0000000000000000000000000000000000000000..27b7e8e57eaaca569dd1bb55527780fd8ef8b9d5
--- /dev/null
+++ b/app/repositories/orient_db/main_page_repository.rb
@@ -0,0 +1,29 @@
+module OrientDb
+  class MainPageRepository < Base
+
+    def find_all
+      connection.query "SELECT FROM MainPage"
+    end
+
+    def find_by_id(id)
+      connection.query "SELECT FROM MainPage where @rid = '#{id}'"
+    end
+
+    def insert_data (name,url)
+       connection.command "INSERT INTO MainPage (name,URL) VALUES ('#{name}','#{url}')"
+    end
+
+
+    def destroy_data(id)
+        return @connection.command "DELETE VERTEX MainPage where @rid = '#{id}'"
+      rescue
+        return nil
+    end
+
+    def update(id,operation,atributte,new)
+      puts "update #{id} #{operation} #{atributte} = #{new}"
+      return @connection.command "update #{id} #{operation} #{atributte} = #{new}"
+    end
+
+  end
+end
diff --git a/app/repositories/orient_db/weblink_repository.rb b/app/repositories/orient_db/weblink_repository.rb
new file mode 100644
index 0000000000000000000000000000000000000000..4141dc96de6761ccfe87e0d0e7da4d40c3691ff7
--- /dev/null
+++ b/app/repositories/orient_db/weblink_repository.rb
@@ -0,0 +1,24 @@
+module OrientDb
+  class WeblinkRepository < Base
+
+    def find_all
+      connection.query "SELECT FROM WebLink"
+    end
+
+    def find_by_id(id)
+      connection.query "SELECT FROM WebLink where @rid = '#{id}'"
+    end
+
+    def insert_data (name,url)
+       connection.command "INSERT INTO WebLink (name,URL) VALUES ('#{name}','#{url}')"
+    end
+
+
+    def destroy_data(id)
+        return @connection.command "DELETE VERTEX WebLink where @rid = '#{id}'"
+      rescue
+        return nil
+    end
+
+  end
+end
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 75255c10fb0f2a9e9c349b29c986ae8ae89353c7..91214e8314b348751ea78190b9f95cb2e248eb5c 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -1,17 +1,16 @@
 <!DOCTYPE html>
 <html>
 <head>
-  <title>ChartKickExample</title>
+ <title>PortalMEC</title>
+ <%= stylesheet_link_tag    'application', media: 'all' %>
+ <%= javascript_include_tag 'application' %>
+ <%= javascript_include_tag "http://www.google.com/jsapi", "chartkick" %>
+ <%= stylesheet_link_tag 'http://yandex.st/bootstrap/3.1.1/css/bootstrap.min.css' %>
+ <%= javascript_include_tag 'http://yandex.st/bootstrap/3.1.1/js/bootstrap.min.js' %>
+ <%= csrf_meta_tags %>
 
-  <%= stylesheet_link_tag 'application', media: 'all' %>
-  <%= javascript_include_tag 'application' %>
-  <%= javascript_include_tag "http://www.google.com/jsapi", "chartkick" %>
-  <%= stylesheet_link_tag 'http://yandex.st/bootstrap/3.1.1/css/bootstrap.min.css' %>
-  <%= javascript_include_tag 'http://yandex.st/bootstrap/3.1.1/js/bootstrap.min.js' %>
+  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
 
-  <%= csrf_meta_tags %>
-  <title>Portalmec</title>
-  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
   <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
   <%= csrf_meta_tags %>
   <meta property="creator.productor" content="http://estruturaorganizacional.dados.gov.br/id/unidade-organizacional/1">
diff --git a/app/views/shared/application/_footer.html.erb b/app/views/shared/application/_footer.html.erb
index 4f3f0fe35e12667f4a7340ad494e08450a15cdcb..d2d8dca54b82afcc988bfa28cba00b67d0d80d48 100644
--- a/app/views/shared/application/_footer.html.erb
+++ b/app/views/shared/application/_footer.html.erb
@@ -23,12 +23,14 @@
         quis.
       </div>
     </div>
+
     <div class="footerbar">
       <div class="container">
         <%= image_tag 'cc.png' %>
         Creative Commons Attribution 4.0 International Licence
       </div>
     </div>
+  </div>
 </footer>
 
 <script>
diff --git a/app/views/shared/application/_header.html.erb b/app/views/shared/application/_header.html.erb
index 8afb5ef29dd80fcf154757ff441828675f8616d0..e1389a9f3d4f9619bbc9990efbdc653a18e2ae81 100644
--- a/app/views/shared/application/_header.html.erb
+++ b/app/views/shared/application/_header.html.erb
@@ -53,50 +53,44 @@
   </div>
 
 
-  <div class="container">
-    <div class="row">
-      <ul class="nav navbar-nav">
-        <li><%= link_to 'Principal' %></li>
-        <li><%= link_to 'Assunto' %></li>
-        <li class="dropdown mega-menu-fullwidth">
-          <a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0);">Níveis</a>
-          <ul class="dropdown-menu">
-            <li>
-              <div class="mega-menu-content disable-icons">
-                <div class="container">
-                  <div class="row equal-height">
-                    <div class="col-md-3 equal-height-in">
-                      <ul class="list-unstyled equal-height-list">
-                        <li><h3>Ensino Básico</h3></li>
-                        <li><a href="">1º Ano</a></li>
-                        <li><a href="">2º Ano</a></li>
-                        <li><a href="">3º Ano</a></li>
-                        <li><a href="">4º Ano</a></li>
-                        <li><a href="">5º Ano</a></li>
-                        <li><a href="">6º Ano</a></li>
-                        <li><a href="">7º Ano</a></li>
-                        <li><a href="">8º Ano</a></li>
-                        <li><a href="">9º Ano</a></li>
-                      </ul>
-                    </div>
-                    <div class="col-md-3 equal-height-in">
-                      <ul class="list-unstyled equal-height-list">
-                        <li><h3>Ensino Médio</h3></li>
-                        <li><a href="">1º Ano</a></li>
-                        <li><a href="">2º Ano</a></li>
-                        <li><a href="">3º Ano</a></li>
-                      </ul>
-                    </div>
-                  </div>
-                </div>
-            </li>
-          </ul>
-        </li>
-        <li><%= link_to 'Formato' %></li>
-        <li><%= link_to 'Contatos' %></li>
-        <li><%= link_to 'FAQ', faq_path %></li>
-      </ul>
-    </div>
+<div class="container">
+  <div class="row">
+    <ul class="nav navbar-nav">
+      <li><%= link_to 'Principal' %></li>
+      <li><%= link_to 'Assunto' %></li>
+      <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0);">Níveis<span class="caret"></span></a>
+        <ul class="dropdown-menu">
+          <li>
+            <div class="row" style="width: 400px;">
+              <ul class="list-unstyled col-md-5 col-md-offset-1">
+                <li><b>Ensino Básico</b></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="">1º Ano</a></li>
+                <li><a href="">2º Ano</a></li>
+                <li><a href="">3º Ano</a></li>
+                <li><a href="">4º Ano</a></li>
+                <li><a href="">5º Ano</a></li>
+                <li><a href="">6º Ano</a></li>
+                <li><a href="">7º Ano</a></li>
+                <li><a href="">8º Ano</a></li>
+                <li><a href="">9º Ano</a></li>
+              </ul>
+              <ul class="list-unstyled col-md-5">
+                <li><b>Ensino Médio</b></li>
+                <li role="separator" class="divider"></li>
+                <li><a href="">1º Ano</a></li>
+                <li><a href="">2º Ano</a></li>
+                <li><a href="">3º Ano</a></li>
+              </ul>
+            </div>
+          </li>
+        </ul>
+      </li>
+      <li><%= link_to 'Formato' %></li>
+      <li><%= link_to 'FAQ', faq_path %></li>
+      <li><%= link_to 'Contato', contact_path %></li>
+    </ul>
   </div>
-
+</div>
 </header>
diff --git a/app/views/welcome/contact.html.erb b/app/views/welcome/contact.html.erb
index f86576e1a217446e4fedc6a31b49ca733d555d69..f2774f8a33b602f3050f95fefc2e7da31d5f0cdb 100644
--- a/app/views/welcome/contact.html.erb
+++ b/app/views/welcome/contact.html.erb
@@ -1,5 +1,42 @@
-<div align='center'>
-  <h3>Contate-nos em:</h3>
-  <br>
-  <h5>xxx@c3sl.ufpr.br</h5>
+<link href='https://fonts.googleapis.com/css?family=Roboto:300&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
+<br>
+<div class="container">
+  <div class="row">
+    <div class="col-md-offset-2 col-md-5">
+      <p class="font_roboto_light">
+        Email: email@email.com
+      </p>
+      <p class="font_roboto_light">
+        Redes Sociais
+      </p>
+      <div class="row">
+          <div id='rede_social1' class='col-md-1 col-sm-offset-1 rede_social'></div>
+          <div id='rede_social2' class='col-md-1 rede_social'></div>
+          <div id='rede_social3' class='col-md-1 rede_social'></div>
+          <div id='rede_social4' class='col-md-1 rede_social'></div>
+      </div>
+      <br>
+      <p class="font_roboto_light">
+        Outros sites do ministério da educação
+      </p>
+      <div class="row">
+          <div id='mec_portais' class='col-md-1 col-sm-offset-1'></div>
+          <div id='mec_portais2' class='col-md-1'></div>
+          <div id='mec_portais2' class='col-md-1'></div>
+          <div id='mec_portais2' class='col-md-1'></div>
+      </div>
+      <br>
+    <p class="font_roboto_light">
+      Portal desenvolvido por
+    </p>
+      <div class="row">
+          <div id='mec_portais' class='col-md-1 col-sm-offset-1'></div>
+      </div>
+    </div>
+    <div class="col-md-3">
+      <p class="font_roboto_light">
+        Telefone: (01)2345-6789
+      </p>
+    </div>
+  </div>
 </div>
diff --git a/app/views/welcome/index.html.erb b/app/views/welcome/index.html.erb
index d6af2e7a35c15c283e8433cb208808808dab1c38..287dfa9f657ce4ff0541cc4add6ce32fd3fa0bc2 100644
--- a/app/views/welcome/index.html.erb
+++ b/app/views/welcome/index.html.erb
@@ -1,15 +1,14 @@
 <div class="main container-fluid">
   <div class="row">
-    <div class="col-md-8">
+    <div class="col-sm-offset-1 col-md-7">
       <div class="row">
-        <div class="col-md-12">
-          <% if @highlights.present? %>
+        <% if @Carousel.present? %>
           <div id="myCarousel" class="carousel slide" data-ride="carousel">
             <!-- Indicators -->
             <ol class="carousel-indicators">
               <% i = 0 %>
-              <% @highlights.each do |highlight| %>
-                <% if highlight == @highlights.first %>
+              <% @Carousel.each do |highlight| %>
+                <% if highlight == @Carousel.first %>
                   <li data-target="#myCarousel" data-slide-to="<%= i %>" class="active"></li>
                 <% else %>
                   <li data-target="#myCarousel" data-slide-to="<%= i %>"></li>
@@ -18,36 +17,93 @@
               <% end %>
             </ol>
             <div class="carousel-inner" role="listbox">
-              <% @highlights.each do |highlight|%>
-                <% if highlight == @highlights.first %>
-                  <div class="item active">
+              <% @Carousel.each do |highlight|%>
+                <% if highlight == @Carousel.first %>
+                  <% highlight_class="item active" %>
                 <% else %>
-                  <div class="item">
+                  <% highlight_class="item" %>
                 <% end %>
-                  <%= image_tag 'mecshow_logo.jpg' %>
-                  <div class="container">
-                    <div class="carousel-caption">
-                      <h1><%= highlight['name'] %></h1>
-                      <p id="carrousel-new-description">Descrição </p>
-                      <p><a class="btn btn-lg btn-primary" href=<%= highlight['URL'] %> role="button">Mais informações</a></p>
-                    </div>
+              <div class="<%= highlight_class %>">
+                <%= image_tag 'mecshow_logo.jpg'%>
+                <div class="container">
+                  <div class="carousel-caption">
+                    <h1><%= highlight['title'] %></h1>
+                    <p id="carrousel-new-description"><%= highlight['description'] %> </p>
+                    <p><a class="btn btn-lg btn-primary" href=<%= highlight['URL'] %> role="button">Mais informações</a></p>
                   </div>
                 </div>
+              </div>
               <% end %>
-            <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
-              <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
-              <span class="sr-only">Previous</span>
-            </a>
-            <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
-              <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
-              <span class="sr-only">Next</span>
-            </a>
+              <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
+                <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
+                <span class="sr-only">Previous</span>
+              </a>
+              <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
+                <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
+                <span class="sr-only">Next</span>
+              </a>
+            </div>
           </div>
-        </div>
+        <% end %>
       </div>
-      <% end %>
+      <div class="row">
+        <% if @General.present? %>
+        <ul class="list-unstyled">
+          <h2>Destaques</h2>
+            <% @General.each do |highlight| %>
+            <li class="col-sm-12 general_highlights">
+              <div class="media">
+                <div class="media-left media-middle">
+                  <a href="#">
+                    <img src="http://dummyimage.com/250x150/363336/fff" alt='dummy image'>
+                  </a>
+                </div>
+                <div class="media-body">
+                  <h4 class="media-heading"><%= highlight['name'] %></h4>
+                  <span>Por <a>Usuário&nbsp</a></span>
+                  <span class="glyphicon glyphicon-eye-open"><%= highlight['views'] %>&nbsp </span>
+                  <span class="glyphicon glyphicon-star"><%= highlight['likes'] %>&nbsp</span><br>
+                  <b>Descrição:</b> Descrição do objeto em destaque.Descrição do objeto em destaque.Descrição do objeto em destaque.Descrição do objeto em destaque.Descrição do objeto em destaque.<br>
+                  Em<b> Biologia</b>, <b>Biologia Marinha</b>
+                </div>
+              </div>
+            </li>
+            <% end %>
+          <% end %>
+        </ul>
+      </div>
+    </div>
+    <div class="col-md-3 hidden-xs hidden-sm">
+      <img src="http://dummyimage.com/350x500/363336/fff" alt='dummy image'>
+    </div>
+  </div>
+
+  <div class="row">
+    <div class="col-md-11 col-sm-offset-1 padding-left-0">
+      <h2>Em Destaque</h2>
+        <ul class="list-unstyled">
+          <% 8.times do %>
+          <li class="col-sm-3 padding-left-0">
+            <div class="media">
+              <h4>Matemática</h4>
+              <div>
+                <a href="#">
+                  <img src="http://dummyimage.com/250x150/363336/fff" alt='dummy image' class="img-responsive">
+                </a>
+              </div>
+              <div class="media-body">
+                <h4 class="media-heading">Nome</h4>
+                <span>Por <a>Usuário&nbsp</a></span>
+                <span class="glyphicon glyphicon-eye-open">200&nbsp </span>
+                <span class="glyphicon glyphicon-star">4,5&nbsp</span>
+                <p align='center'>
+                  <a>Ver Mais</a>
+                </p>
+              </div>
+            </div>
+          </li>
+          <% end %>
+        </ul>
     </div>
   </div>
-</div>
-</div>
 </div>
diff --git a/config/initializers/repositories.rb b/config/initializers/repositories.rb
index 40e8528a3ed07859f846be3c9a450ed5af37f9e1..3e79d5a19df528f57a9487f827c9685b87d242f8 100644
--- a/config/initializers/repositories.rb
+++ b/config/initializers/repositories.rb
@@ -1,26 +1,32 @@
 Repository::Environments.create :development do |repository|
   repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
-  repository.register :edge, OrientDb::EdgeRepository.new(OrientDb::Client.instance)
   repository.register :university, OrientDb::UniversityRepository.new(OrientDb::Client.instance)
-  repository.register :highlight, OrientDb::HighlightRepository.new(OrientDb::Client.instance)
+  repository.register :edge, OrientDb::EdgeRepository.new(OrientDb::Client.instance)
+  repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance)
+  repository.register :webLink, OrientDb::WeblinkRepository.new(OrientDb::Client.instance)
   repository.register :country, OrientDb::CountryRepository.new(OrientDb::Client.instance)
   repository.register :user, ActiveRecord::UserRepository.new
+  repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance)
 end
 
 Repository::Environments.create :test do |repository|
   repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
   repository.register :edge, OrientDb::EdgeRepository.new(OrientDb::Client.instance)
   repository.register :university, OrientDb::UniversityRepository.new(OrientDb::Client.instance)
-  repository.register :highlight, OrientDb::HighlightRepository.new(OrientDb::Client.instance)
+  repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance)
+  repository.register :webLink, OrientDb::WeblinkRepository.new(OrientDb::Client.instance)
   repository.register :country, OrientDb::CountryRepository.new(OrientDb::Client.instance)
-  repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance)
+  repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance)
+  repository.register :user, ActiveRecord::UserRepository.new
 end
 
 Repository::Environments.create :production do |repository|
   repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
   repository.register :edge, OrientDb::EdgeRepository.new(OrientDb::Client.instance)
   repository.register :university, OrientDb::UniversityRepository.new(OrientDb::Client.instance)
-  repository.register :highlight, OrientDb::HighlightRepository.new(OrientDb::Client.instance)
+  repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance)
+  repository.register :webLink, OrientDb::WeblinkRepository.new(OrientDb::Client.instance)
   repository.register :country, OrientDb::CountryRepository.new(OrientDb::Client.instance)
-  repository.register :user, OrientDb::UserRepository.new(OrientDb::Client.instance)
+  repository.register :carousel, OrientDb::CarouselRepository.new(OrientDb::Client.instance)
+  repository.register :user, ActiveRecord::UserRepository.new
 end
\ No newline at end of file
diff --git a/config/initializers/task_scheduler.rb b/config/initializers/task_scheduler.rb
new file mode 100644
index 0000000000000000000000000000000000000000..58dab127e0d016d74fb860b6d1c1709a27df9766
--- /dev/null
+++ b/config/initializers/task_scheduler.rb
@@ -0,0 +1,4 @@
+scheduler = Rufus::Scheduler.new
+scheduler.every '10m' do
+    system('rake mainPage:highlights')
+ end
diff --git a/config/orientdb.yml b/config/orientdb.yml
index 3e75a677c3e4b72537a2d1e07010159eaf9a278b..88e5d0367003e3f9b48b614ec04f7c910eb54769 100644
--- a/config/orientdb.yml
+++ b/config/orientdb.yml
@@ -10,4 +10,4 @@ test:
   database: dev-mauricio
   username: admin
   password: admin
-  port: 2480
\ No newline at end of file
+  port: 2480
diff --git a/lib/orient_db/client.rb b/lib/orient_db/client.rb
index fdce7f7249e64b1192ad1fca8f9d450e5ae9b17a..a7089e51c3f6ca8618dc3347fd55b3aaa7eb3882 100644
--- a/lib/orient_db/client.rb
+++ b/lib/orient_db/client.rb
@@ -14,4 +14,4 @@ class OrientDb::Client
     end
   end
 
-end
\ No newline at end of file
+end
diff --git a/lib/ranking/README.md b/lib/ranking/README.md
index 0f01c85eb3a4cd2569e817afd5c898141c39f2ff..7c698ed6867d324326f6dda0251102d44f03bf78 100644
--- a/lib/ranking/README.md
+++ b/lib/ranking/README.md
@@ -1,5 +1,5 @@
 # Ranking docs
- 
+
 # Refactored
 
 ```ruby
@@ -8,6 +8,7 @@ items << Ranking::Item.new("ax",1,1,1,["otherStuffA","lala",'a'])
 items << Ranking::Item.new("bx",2,2,2,[1,2,3,"teste","lblb",'b'])
 items << Ranking::Item.new("cx",1,1,99,[3,2,1,"teste","lclc",'c'])
 
+
 rater = Ranking::Rater.new(Ranking::Strategies::BasicRater.new(1000, 1, 100))
 rater.sortByRate(items).each do |i|
     p i.name
@@ -15,4 +16,4 @@ end
 ```
 
 ## Output
- - ordered array of Items, starting from the most ranked to the least
\ No newline at end of file
+ - ordered array of Items, starting from the most ranked to the least
diff --git a/lib/ranking/strategies/basic_rater.rb b/lib/ranking/strategies/basic_rater.rb
index 069740879e7aa0c7a67d2301d6f90b0fc0eb1a63..d88d4951319be14be40f90ce16d2c461c249ca27 100644
--- a/lib/ranking/strategies/basic_rater.rb
+++ b/lib/ranking/strategies/basic_rater.rb
@@ -2,7 +2,7 @@ class Ranking::Strategies::BasicRater < Ranking::Strategy
 
   def sortByRate(items)
     items.zip( items.size.downto(1) )
-        .collect { |item,reverseIndex| self.rateItem( item, reverseIndex ) }
+        .collect { |item,reverseIndex| rateItem( item, reverseIndex ) }
         .sort { |itemA,itemB| itemA.rate <=> itemB.rate }
         .collect { |ri| ri.item }
         .reverse # Best ranked comes first
@@ -19,4 +19,4 @@ class Ranking::Strategies::BasicRater < Ranking::Strategy
     build_rated_item item, rate
   end
 
-end
\ No newline at end of file
+end
diff --git a/lib/tasks/mainPage.rake b/lib/tasks/mainPage.rake
new file mode 100644
index 0000000000000000000000000000000000000000..c4b7bab948e06fc012bb577d140f5fdf8f59bb50
--- /dev/null
+++ b/lib/tasks/mainPage.rake
@@ -0,0 +1,27 @@
+namespace :mainPage do
+  desc "Generate the MainPage"
+  task :highlights => :environment do
+    repository = Portalmec::Application.repository
+
+    puts 'Generating the main page highlights'
+    objects = repository.for(:learningObjet).find_all
+    objects = objects.collect do |object|
+      likes = repository.for(:learningObjet).get_likes(object['@rid']).size()
+      views = repository.for(:learningObjet).get_views(object['@rid']).size()
+      downloads = repository.for(:learningObjet).get_downloads(object['@rid']).size()
+      Ranking::Item.new(object['@rid'],views,downloads,likes)
+    end
+    rater = Ranking::Rater.new(Ranking::Strategies::BasicRater.new(1000,1,100))
+    objects = rater.sortByRate(objects).take(5)
+
+    mainPage = repository.for(:mainPage).find_all[0]
+    rid = mainPage['@rid']
+    repository.for(:mainPage).update(rid,'set','highlights','[]')
+    objects.each do |object|
+      repository.for(:mainPage).update(rid,'add','highlights',object.name)
+    end
+
+    puts 'Generate the main page subject highlights'
+    # TODO: generate
+  end
+end