{"id":55,"date":"2016-05-29T15:37:31","date_gmt":"2016-05-29T15:37:31","guid":{"rendered":"https:\/\/alexrusin.com\/?p=55"},"modified":"2016-05-30T15:08:31","modified_gmt":"2016-05-30T15:08:31","slug":"angularjsnodejs-spa","status":"publish","type":"post","link":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/","title":{"rendered":"AngularJS\/NodeJS SPA"},"content":{"rendered":"

This AngularJS single page application (SPA) is coded in AngularJS. \u00a0It is hosted on NodeJS Express server. \u00a0This quiz app is totally dynamic. Questions are fetched and assembled on the fly from MySQL database using API written in NodeJS and hosted on the same server. \u00a0Each time quiz is taken, questions are randomized and capped at 20.<\/p>\n

myapi.website\/rlquiz<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

This AngularJS single page application (SPA) is coded in AngularJS. \u00a0It is hosted on NodeJS Express server. \u00a0This quiz app is totally dynamic. Questions are fetched and assembled on the fly from MySQL database using API written in NodeJS and hosted on the same server. \u00a0Each time quiz is taken, questions are randomized and capped…<\/p>\n","protected":false},"author":1,"featured_media":56,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[7],"tags":[],"class_list":["post-55","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-my-projects"],"yoast_head":"\nAngularJS\/NodeJS SPA | Alex Rusin Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AngularJS\/NodeJS SPA | Alex Rusin Blog\" \/>\n<meta property=\"og:description\" content=\"This AngularJS single page application (SPA) is coded in AngularJS. \u00a0It is hosted on NodeJS Express server. \u00a0This quiz app is totally dynamic. Questions are fetched and assembled on the fly from MySQL database using API written in NodeJS and hosted on the same server. \u00a0Each time quiz is taken, questions are randomized and capped...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/\" \/>\n<meta property=\"og:site_name\" content=\"Alex Rusin Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-29T15:37:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-05-30T15:08:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"270\" \/>\n\t<meta property=\"og:image:height\" content=\"260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"alexrusin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"alexrusin\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/\"},\"author\":{\"name\":\"alexrusin\",\"@id\":\"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a\"},\"headline\":\"AngularJS\/NodeJS SPA\",\"datePublished\":\"2016-05-29T15:37:31+00:00\",\"dateModified\":\"2016-05-30T15:08:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/\"},\"wordCount\":62,\"publisher\":{\"@id\":\"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a\"},\"image\":{\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg\",\"articleSection\":[\"My Projects\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/\",\"url\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/\",\"name\":\"AngularJS\/NodeJS SPA | Alex Rusin Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.alexrusin.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg\",\"datePublished\":\"2016-05-29T15:37:31+00:00\",\"dateModified\":\"2016-05-30T15:08:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage\",\"url\":\"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg\",\"contentUrl\":\"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg\",\"width\":270,\"height\":260},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.alexrusin.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AngularJS\/NodeJS SPA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.alexrusin.com\/#website\",\"url\":\"https:\/\/blog.alexrusin.com\/\",\"name\":\"Alex Rusin\",\"description\":\"Web Development Blog\",\"publisher\":{\"@id\":\"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.alexrusin.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a\",\"name\":\"alexrusin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.alexrusin.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c36ef231f9e0b11371891eb84360f4bc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c36ef231f9e0b11371891eb84360f4bc?s=96&d=mm&r=g\",\"caption\":\"alexrusin\"},\"logo\":{\"@id\":\"https:\/\/blog.alexrusin.com\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AngularJS\/NodeJS SPA | Alex Rusin Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/","og_locale":"en_US","og_type":"article","og_title":"AngularJS\/NodeJS SPA | Alex Rusin Blog","og_description":"This AngularJS single page application (SPA) is coded in AngularJS. \u00a0It is hosted on NodeJS Express server. \u00a0This quiz app is totally dynamic. Questions are fetched and assembled on the fly from MySQL database using API written in NodeJS and hosted on the same server. \u00a0Each time quiz is taken, questions are randomized and capped...","og_url":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/","og_site_name":"Alex Rusin Blog","article_published_time":"2016-05-29T15:37:31+00:00","article_modified_time":"2016-05-30T15:08:31+00:00","og_image":[{"width":270,"height":260,"url":"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg","type":"image\/jpeg"}],"author":"alexrusin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"alexrusin"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#article","isPartOf":{"@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/"},"author":{"name":"alexrusin","@id":"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a"},"headline":"AngularJS\/NodeJS SPA","datePublished":"2016-05-29T15:37:31+00:00","dateModified":"2016-05-30T15:08:31+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/"},"wordCount":62,"publisher":{"@id":"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a"},"image":{"@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg","articleSection":["My Projects"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/","url":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/","name":"AngularJS\/NodeJS SPA | Alex Rusin Blog","isPartOf":{"@id":"https:\/\/blog.alexrusin.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage"},"image":{"@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg","datePublished":"2016-05-29T15:37:31+00:00","dateModified":"2016-05-30T15:08:31+00:00","breadcrumb":{"@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#primaryimage","url":"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg","contentUrl":"https:\/\/blog.alexrusin.com\/wp-content\/uploads\/2016\/05\/rlquiz-small.jpg","width":270,"height":260},{"@type":"BreadcrumbList","@id":"https:\/\/blog.alexrusin.com\/angularjsnodejs-spa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.alexrusin.com\/"},{"@type":"ListItem","position":2,"name":"AngularJS\/NodeJS SPA"}]},{"@type":"WebSite","@id":"https:\/\/blog.alexrusin.com\/#website","url":"https:\/\/blog.alexrusin.com\/","name":"Alex Rusin","description":"Web Development Blog","publisher":{"@id":"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.alexrusin.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/blog.alexrusin.com\/#\/schema\/person\/a9005ca622862109b2c514050fbaaf9a","name":"alexrusin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.alexrusin.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c36ef231f9e0b11371891eb84360f4bc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c36ef231f9e0b11371891eb84360f4bc?s=96&d=mm&r=g","caption":"alexrusin"},"logo":{"@id":"https:\/\/blog.alexrusin.com\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/posts\/55","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":1,"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/posts\/55\/revisions"}],"predecessor-version":[{"id":57,"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/posts\/55\/revisions\/57"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/media\/56"}],"wp:attachment":[{"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/media?parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/categories?post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.alexrusin.com\/wp-json\/wp\/v2\/tags?post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}