Started with Vue
diff --git a/erpnext/www/academy.html b/erpnext/www/academy.html
new file mode 100644
index 0000000..cba1964
--- /dev/null
+++ b/erpnext/www/academy.html
@@ -0,0 +1,8 @@
+{% extends "frappe_theme/templates/web.html" %}
+
+{% block title %}{{ heading or "Academy"}}{% endblock %}
+
+{% block page_content %}
+<div id="web-academy"></div>
+<script type="text/javascript" src="/assets/js/web-academy.min.js"></script>
+{% endblock %}
\ No newline at end of file
diff --git a/erpnext/www/academy.py b/erpnext/www/academy.py
new file mode 100644
index 0000000..43ed259
--- /dev/null
+++ b/erpnext/www/academy.py
@@ -0,0 +1,27 @@
+from __future__ import unicode_literals
+import frappe
+import erpnext.education.utils as utils
+
+@frappe.whitelist()
+def get_portal_details():
+	settings = frappe.get_doc("Education Settings")
+	title = settings.portal_title
+	description = settings.description
+	return dict(title=title, description=description)
+
+@frappe.whitelist()
+def get_featured_programs():
+	featured_program_names = frappe.get_list("Program", filters={"is_published": True, "is_featured": True})
+	featured_list = [program["name"] for program in featured_program_names]
+	if featured_list:
+		return featured_list
+	else:
+		return None
+
+@frappe.whitelist()
+def get_program_details(program_name):
+	try:
+		program = frappe.get_doc('Program', program_name)
+		return program
+	except:
+		return None
diff --git a/erpnext/www/web-academy.html b/erpnext/www/web-academy.html
deleted file mode 100644
index 9fa5a25..0000000
--- a/erpnext/www/web-academy.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{% extends "templates/web.html" %}
-
-{% block title %}{{ heading or "Web Academy"}}{% endblock %}
-
-{% block page_content %}
-
-<div id="web-academy"></div>
-<script type="text/javascript" src="/assets/js/frappe-web-academy.min.js"></script>
-
-{% endblock %}
\ No newline at end of file