Added custom store for state management
diff --git a/erpnext/public/js/education/web-academy.js b/erpnext/public/js/education/web-academy.js
index f37b8f0..9b96e6a 100644
--- a/erpnext/public/js/education/web-academy.js
+++ b/erpnext/public/js/education/web-academy.js
@@ -1,5 +1,6 @@
 import Vue from 'vue/dist/vue.js';
 import VueRouter from 'vue-router/dist/vue-router.js'
+
 import AcademyRoot from "./web-academy/AcademyRoot.vue";
 import AcademyHome from "./web-academy/pages/AcademyHome.vue";
 import AcademyProgramPage from "./web-academy/pages/AcademyProgramPage.vue";
@@ -7,21 +8,56 @@
 
 Vue.use(VueRouter)
 
+
 const routes = [
 	{name: 'home', path: '', component: AcademyHome},
 	{name: 'program', path: '/Program/:code', component: AcademyProgramPage, props: true},
 	{name: 'content', path: '/Program/:code/:course/:type/:content', component: AcademyCoursePage, props: true},
 ];
 
+var store = {
+	debug: true,
+	state: {
+		completedCourses: new Set(),
+		currentEnrollment: '',
+		currentStudentID: '',
+	},
+	setCourseEnrollment (enrollment) {
+	    if (this.debug) console.log('setCourseEnrollment triggered with', enrollment)
+	    this.state.currentEnrollment = enrollment
+	},
+	addCompletedCourses (courseName){
+		if (this.debug) console.log('addCompletedCourses triggered with', courseName)
+		this.state.completedCourses.add(courseName)
+	},
+	checkCourseCompletion (courseName){
+		return this.state.completedCourses.has(courseName)
+	},
+	updateState (){
+		if (this.debug) console.log('Updating States')
+		frappe.call("erpnext.www.academy.get_state").then( r => {
+			this.state.completedCourses.clear()
+			for(var ii=0; ii < r.message.length; ii++){
+				this.state.completedCourses.add(r.message[ii])
+			}
+		})
+		if (this.debug) console.log('Updated State', this.state.completedCourses)
+	}
+}
+
 const router = new VueRouter({
 	routes: routes,
 });
 
 frappe.ready(() => {
 	window.v = new Vue({
-		el: "#web-academy",
+		el: "#academy",
 		router: router,
+		data: store,
 		template: "<academy-root/>",
-		components: { AcademyRoot }
+		components: { AcademyRoot },
+		created: function() {
+			store.updateState()
+		}
 	});
 })
\ No newline at end of file