cb({"created":"0001-01-01T00:00:00.0000000","technology":{"id":1,"name":"ServiceStack","vendorName":"ServiceStack","vendorUrl":"https://servicestack.net","productUrl":"https://servicestack.net","logoUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/servicestack-logo.png","description":"ServiceStack is a simple, fast, versatile and full-featured Web and Services Framework that's thoughtfully-architected to reduce artificial complexity and promote remote services best practices with a message-based design that allows for maximum re-use where ServiceStack Services are able to be consumed via an array of built-in fast data formats (inc. JSON, XML, CSV, JSV, ProtoBuf and MsgPack) as well as XSD/WSDL for SOAP endpoints and Redis and Rabbit MQ hosts. The same Services also serve as the Controller in ServiceStack's Smart Razor Views reducing the effort to serve both Web and Rich Desktop or Mobile Clients.","created":"2014-12-28T08:49:20.9542550","createdBy":"demisbellot","lastModified":"2018-03-14T06:01:13.9571660","lastModifiedBy":"mythz","ownerId":"1","slug":"servicestack","logoApproved":true,"isLocked":false,"tier":"Server","lastStatusUpdate":"2018-03-14T06:01:13.9571660","organizationId":1,"commentsPostId":5701,"viewCount":4204,"favCount":5},"technologyStacks":[{"id":14,"name":"ServiceStack Website","vendorName":"ServiceStack","description":"The ServiceStack website is the commercial website for ServiceStack suite of products. Includes integration with Stripe to facilitate its online commerce functionality and an authenticated portal for ServiceStack customers to maintain their current subscription, details and access their commercial support options.","appUrl":"https://servicestack.net","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/screenshots/servicestack.png","created":"2014-12-29T02:04:01.9922560","createdBy":"demisbellot","lastModified":"2019-09-26T00:02:34.8811330","lastModifiedBy":"mythz","isLocked":true,"ownerId":"1","slug":"servicestack-website","lastStatusUpdate":"2019-09-26T00:02:34.8811330","viewCount":551,"favCount":3},{"id":229,"name":"Redis Vue","vendorName":"ServiceStack","description":"A Simple Redis Admin UI developed with Vue and ServiceStack Templates running on .NET Core. It built as a ServiceStack Web App where the entire .NET Core App is developed with built-in live-reloading but without any C# and requires no build or compilation in either the client Vue App or the ServiceStack Web App.","appUrl":"http://redis.web-app.io","screenshotUrl":"https://i.imgur.com/tBHLIQi.png","created":"2018-03-23T04:52:18.3796100","createdBy":"mythz","lastModified":"2019-09-24T07:03:15.9985600","lastModifiedBy":"mythz","isLocked":false,"ownerId":"17","slug":"redis-vue","details":"## [Web Apps](http://templates.servicestack.net/docs/web-apps)\r\n\r\nWeb Apps are a new approach to dramatically simplify .NET Wep App development and provide the most productive development experience possible whilst maximizing reuse and component sharing. They also open up a number of new use-cases for maintaining clean isolation between front-end and back-end development with front-end developers not needing any knowledge of C#/.NET to be able to develop UIs for high-performance .NET Web Apps. Web Apps also make it easy to establish and share an approved suite of functionality amongst multiple websites all consuming the same back-end systems and data stores.\r\n\r\nWeb Apps leverages Templates to develop entire content-rich, data-driven websites without needing to write any C#, compile projects or manually refresh pages - resulting in the easiest and fastest way to develop Web Apps in .NET!\r\n\r\n## [Redis Vue](http://templates.servicestack.net/docs/web-apps#redis-vue)\r\n\r\nRedis UI was developed as a Single Page App as it provides a more optimal and responsive UX by only loading the HTML page once on Startup then utilizes Ajax to only download and update the incremental parts of the App's UI that needs changing.\r\n\r\nInstead of using jQuery and server-side HTML this version has been rewritten to use [Vue](https://vuejs.org) where the UI has been extracted into isolated Vue components utilizing [Vue X-Templates](https://vuejs.org/v2/guide/components.html#X-Templates) to render the App on the client where all Redis Vue's functionality is contained within the [Redis/app/index.html](https://github.com/NetCoreWebApps/Redis/blob/master/app/index.html) page.\r\n\r\n\r\n### Simple Vue App\r\n\r\nTemplates also provides a great development experience for Single Page Apps which for the most part gets out of your way letting you develop the Single Page App as if it were a static `.html` file, but also benefits from the flexibility of a dynamic web page when needed.\r\n\r\nThe containing [_layout.html](https://github.com/NetCoreWebApps/Redis/blob/master/app/_layout.html) page can be separated from the [index.html](https://github.com/NetCoreWebApps/Redis/blob/master/app/index.html) page that contains the App's functionality, where it's able to extract the title of the page and embed it in the HTML `` as well as embed the page's ` }}\r\n\r\n...\r\n\r\n\r\n\r\n\r\n

{{ title }}

\r\n\r\n {{ page }}\r\n\r\n \r\n \r\n \r\n \r\n {{ scripts | raw }} \r\n\r\n\r\n```\r\n\r\nRedis Vue avoids the complexity of adopting a npm build system by refrencing Vue libraries as a simple script include:\r\n\r\n```html\r\n\r\n```\r\n\r\nThis technique increases the time to first paint by being able to render the initial Vue page without waiting for an Ajax call response whilst benefiting from improved SEO from server-generated HTML.\r\n\r\n### Server Handling\r\n\r\nAnother area Templates is used is to handle the HTTP POST where it calls the `redisChangeConnection` filter to change the current Redis connection before rendering the [connection-info.html](https://github.com/NetCoreWebApps/Redis/blob/master/app/connection-info.html) partial with the current connection info:\r\n\r\n```html\r\n{{ ifHttpPost | use({ host, port, db, password }) | withoutEmptyValues | redisChangeConnection | end }}\r\n\r\n```\r\n\r\n### Vue Ajax Server APIs\r\n\r\nAll other Server functionality is invoked by Vue using Ajax to call one of the Ajax APIs below implemented as [API Pages](http://templates.servicestack.net/docs/api-pages):\r\n\r\n#### [search.html](https://github.com/NetCoreWebApps/Redis/blob/master/app/api/search.html)\r\n\r\nCalled when searching for Redis keys where the query is forwarded to the redisSearchKeys filter:\r\n\r\n```html\r\n{{ limit | default(100) | assignTo: limit }}\r\n{{ q | default('') | assignTo: q }}\r\n\r\n{{ q | append(\"*\") | redisSearchKeys({ limit }) \r\n | return }}\r\n```\r\n\r\n#### [call.html](https://github.com/NetCoreWebApps/Redis/blob/master/app/api/call.html)\r\n\r\nCalled to execute an arbitrary Redis command on the connected instance, with the response from Redis is returned as a plain-text HTTP Response:\r\n\r\n```html\r\n{{ { command } | ensureAllArgsNotEmpty }}\r\n\r\n{{ ['flush','monitor','brpop','blpop'] | any: contains(lower(command), it)\r\n | assignTo: illegalCommand }}\r\n\r\n{{ illegalCommand | ifThrowArgumentException('Command is not allowed.') }}\r\n\r\n{{ command | redisCall | assignTo: contents }}\r\n\r\n{{ contents | return({ 'Content-Type': 'text/plain' }) }}\r\n```\r\n\r\nThe benefits of using API Pages instead of a normal C# Service is being able to retain Web App's productive development workflow where the entire Redis Vue App is built without requiring any compilation.\r\n\r\n### Deep linking and full page reloads\r\n\r\nThe Redis Vue Single Page App also takes advantage of HTML5's `history.pushState` API to enable deep-linking and back-button support where most UI state changes is captured on the query string and used to initialize the Vue state on page navigation or full-page reloads where it proivdes transparent navigation and back-button support that functions like a traditional Web App but with the instant performance of a Single Page App.\r\n\r\n","detailsHtml":"

\nWeb Apps\n

\n

Web Apps are a new approach to dramatically simplify .NET Wep App development and provide the most productive development experience possible whilst maximizing reuse and component sharing. They also open up a number of new use-cases for maintaining clean isolation between front-end and back-end development with front-end developers not needing any knowledge of C#/.NET to be able to develop UIs for high-performance .NET Web Apps. Web Apps also make it easy to establish and share an approved suite of functionality amongst multiple websites all consuming the same back-end systems and data stores.

\n

Web Apps leverages Templates to develop entire content-rich, data-driven websites without needing to write any C#, compile projects or manually refresh pages - resulting in the easiest and fastest way to develop Web Apps in .NET!

\n

\nRedis Vue\n

\n

Redis UI was developed as a Single Page App as it provides a more optimal and responsive UX by only loading the HTML page once on Startup then utilizes Ajax to only download and update the incremental parts of the App's UI that needs changing.

\n

Instead of using jQuery and server-side HTML this version has been rewritten to use Vue where the UI has been extracted into isolated Vue components utilizing Vue X-Templates to render the App on the client where all Redis Vue's functionality is contained within the Redis/app/index.html page.

\n

\nSimple Vue App

\n

Templates also provides a great development experience for Single Page Apps which for the most part gets out of your way letting you develop the Single Page App as if it were a static .html file, but also benefits from the flexibility of a dynamic web page when needed.

\n

The containing _layout.html page can be separated from the index.html page that contains the App's functionality, where it's able to extract the title of the page and embed it in the HTML <head/> as well as embed the page's <script /> in its optimal location at the bottom of the HTML <body/>, after the page's blocking script dependencies:

\n
<html>\n<head>\n<title>{{ title | default('Redis Vue WebApp') }}</title>\n{{ ifDebug | select: <script>{ '/js/hot-loader.js' | includeFile }</script> }}\n\n...\n<link rel=\"stylesheet\" href=\"../assets/css/bootstrap.css\">\n<link rel=\"stylesheet\" href=\"../assets/css/default.css\">\n</head>\n<body>\n    <h2 id=\"title\"><a href=\"/\"><img src=\"/assets/img/redis-logo.png\" /> {{ title }}</a></h2>\n\n    {{ page }}\n\n    <script src=\"../assets/js/html-utils.js\"></script>\n    <script src=\"../assets/js/vue{{ '.min' | if(!debug) }}.js\"></script>\n    <script src=\"../assets/js/axios.min.js\"></script>\n    \n    {{ scripts | raw }} \n</body>\n</html>
\n

Redis Vue avoids the complexity of adopting a npm build system by refrencing Vue libraries as a simple script include:

\n
<script src=\"../assets/js/vue{{ '.min' | if(!debug) }}.js\">
\n

Where it uses the more verbose and developer-friendly vue.js during development whilst using the production optimized vue.min.js for deployments. So despite avoiding the complexity tax of an npm-based build system it still gets some of its benefits like conditional deployments and effortless hot reloading.

\n

\nServer Templates

\n

Whilst most of index.html is a static Vue app, templates is leveraged to generate the body of the <redis-info/> Component on the initial home page render:

\n
<script type=\"text/x-template\" id=\"redis-info-template\">\n<div id=\"redis-info\">\n    <table class=\"table table-striped\" style=\"width:450px\">\n        <tbody>\n{{ redisInfo | toList \n   | select: <tr><th>{it.Key}</th><td title=\"{it.Value}\">{ it.Value | substringWithElipsis(32) }</td></tr> }}\n        </tbody>\n    </table>\n</div>\n</script>
\n

This technique increases the time to first paint by being able to render the initial Vue page without waiting for an Ajax call response whilst benefiting from improved SEO from server-generated HTML.

\n

\nServer Handling

\n

Another area Templates is used is to handle the HTTP POST where it calls the redisChangeConnection filter to change the current Redis connection before rendering the connection-info.html partial with the current connection info:

\n
{{ ifHttpPost | use({ host, port, db, password }) | withoutEmptyValues | redisChangeConnection | end }}\n<script type=\"text/x-template\" id=\"connection-template\">\n{{ 'connection-info' | partial({ redis: redisConnection }) }}\n</script>
\n

\nVue Ajax Server APIs

\n

All other Server functionality is invoked by Vue using Ajax to call one of the Ajax APIs below implemented as API Pages:

\n

\nsearch.html\n

\n

Called when searching for Redis keys where the query is forwarded to the redisSearchKeys filter:

\n
{{ limit | default(100) | assignTo: limit }}\n{{ q     | default('')  | assignTo: q }}\n\n{{ q     | append(\"*\") | redisSearchKeys({ limit }) \n         | return }}
\n

\ncall.html\n

\n

Called to execute an arbitrary Redis command on the connected instance, with the response from Redis is returned as a plain-text HTTP Response:

\n
{{ { command } | ensureAllArgsNotEmpty }}\n\n{{ ['flush','monitor','brpop','blpop'] | any: contains(lower(command), it)\n   | assignTo: illegalCommand }}\n\n{{ illegalCommand | ifThrowArgumentException('Command is not allowed.') }}\n\n{{ command  | redisCall | assignTo: contents }}\n\n{{ contents | return({ 'Content-Type': 'text/plain' }) }}
\n

The benefits of using API Pages instead of a normal C# Service is being able to retain Web App's productive development workflow where the entire Redis Vue App is built without requiring any compilation.

\n

\nDeep linking and full page reloads

\n

The Redis Vue Single Page App also takes advantage of HTML5's history.pushState API to enable deep-linking and back-button support where most UI state changes is captured on the query string and used to initialize the Vue state on page navigation or full-page reloads where it proivdes transparent navigation and back-button support that functions like a traditional Web App but with the instant performance of a Single Page App.

\n
","lastStatusUpdate":"2019-09-24T07:03:15.9985600","viewCount":0,"favCount":0},{"id":159,"name":"Solcast API","vendorName":"Solcast","description":"This stack handles the ingestion solar radiation data from Numeric Weather Models (NWP) and 3rd+ generation weather satellites to produce fast and accurate now, short and long term forecasting which enables the modeling of estimated outputs for PV solar power generation systems.","appUrl":"https://solcast.com.au/","screenshotUrl":"https://i.imgur.com/baCr9iJ.png","created":"2017-02-01T23:22:23.8317990","createdBy":"Layoric","lastModified":"2018-09-19T00:20:15.7890670","lastModifiedBy":"layoric","isLocked":true,"ownerId":"3","slug":"solcast-api","details":"# Overview\r\n\r\nThis stack is built to get forecast data available through the API as quickly as possible for more than 1.2 million forecasts every hour and growing fast.\r\n\r\n### AWS\r\nAWS EC2 Container Service (ECS) is used to ensure uptime during deployments to a autoscaled group of EC2 application servers, along with AWS Application Load Balancer that allows us to deploy updates to the API without any downtime out-of-the-box. CloudFront is used for very short term caching to even out any load spikes for common locations. RDS is used with Postgres which has PostGIS enabled which is utilized heavily given the GIS nature of the data. SES for email notifications\r\n\r\n### ServiceStack\r\nServiceStack is running on .NET Core superbly, utilizing it's features where ever we can. Razor, Redis, OrmLite, Filtering, Validation, Content Negotiation, Snapshot previews, NativeTypes (to help produce typed client libraries), to name a few.\r\n\r\n### Docker\r\nSince we are using AWS ECS, Docker is obviously used as well. This is working very well, though build and deployment times are slightly elongated due to deployment size being quite larger (a few hundred MB). Stability wise, yet to have a problem. No state is stored on the containers or host though, everything is either in the DB or Redis.","detailsHtml":"

\nOverview

\n

This stack is built to get forecast data available through the API as quickly as possible for more than 1.2 million forecasts every hour and growing fast.

\n

\nAWS

\n

AWS EC2 Container Service (ECS) is used to ensure uptime during deployments to a autoscaled group of EC2 application servers, along with AWS Application Load Balancer that allows us to deploy updates to the API without any downtime out-of-the-box. CloudFront is used for very short term caching to even out any load spikes for common locations. RDS is used with Postgres which has PostGIS enabled which is utilized heavily given the GIS nature of the data. SES for email notifications

\n

\nServiceStack

\n

ServiceStack is running on .NET Core superbly, utilizing it's features where ever we can. Razor, Redis, OrmLite, Filtering, Validation, Content Negotiation, Snapshot previews, NativeTypes (to help produce typed client libraries), to name a few.

\n

\nDocker

\n

Since we are using AWS ECS, Docker is obviously used as well. This is working very well, though build and deployment times are slightly elongated due to deployment size being quite larger (a few hundred MB). Stability wise, yet to have a problem. No state is stored on the containers or host though, everything is either in the DB or Redis.

\n
","lastStatusUpdate":"2018-09-19T00:14:57.5622820","viewCount":565,"favCount":1},{"id":235,"name":"Oregon BottleDrop Redemption Centers","vendorName":"Oregon Beverage Recycling Cooperative","description":"Oregon BottleDrop Redemption Centers provide clean and convenient facilities for returning your Oregon redeemable containers. You can use the high speed reverse-vending machines, or signup for a BottleDrop account and drop off labeled green bags with your empties for us to count. Redeeming your bottles and cans has never been easier!","appUrl":"https://www.bottledropcenters.com","screenshotUrl":"https://i.imgur.com/gLGGbiw.jpg","created":"2018-09-12T03:18:49.3494800","createdBy":"jklemmack","lastModified":"2018-09-12T03:18:49.3494800","lastModifiedBy":"jklemmack","isLocked":true,"ownerId":"48","slug":"oregon-bottledrop-redemption-centers","lastStatusUpdate":"2018-09-12T03:18:49.3494800","viewCount":0,"favCount":0},{"id":228,"name":"TechStacks","vendorName":"ServiceStack","description":"Find and share information on your favorite technologies with others sharing similar Technological interests.","appUrl":"http://techstacks.io","screenshotUrl":"https://i.imgur.com/MvoFdHX.png","created":"2018-03-11T16:31:36.6053730","createdBy":"mythz","lastModified":"2018-08-16T17:10:56.8363850","lastModifiedBy":"mythz","isLocked":false,"ownerId":"17","slug":"techstacks","details":"TechStacks was built with the [.NET Core 2.1 vuetify-nuxt project](https://github.com/NetCoreTemplates/vuetify-nuxt) template.\r\n\r\nSource code for TechStacks is available at:\r\n\r\n - https://github.com/NetCoreApps/TechStacks","detailsHtml":"

TechStacks was built with the .NET Core 2.1 vuetify-nuxt project template.

\n

Source code for TechStacks is available at:

\n\n
","lastStatusUpdate":"2018-08-16T17:10:56.8363850","organizationId":73,"commentsPostId":5943,"viewCount":0,"favCount":0},{"id":144,"name":"Gistlyn","vendorName":"ServiceStack","description":"Gistlyn is the ultimate C# Gist IDE for trying out and exploring C# and .NET libraries on NuGet from a zero install - modern browser. It's ideal for use as a companion tool for trying out libraries during development or on the go from the comfort of your iPad by going to gistlyn.com.","appUrl":"http://gistlyn.com","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/gistlyn/home-screenshot.png","created":"2016-08-22T22:22:56.0436210","createdBy":"mythz","lastModified":"2018-03-23T05:22:16.3469990","lastModifiedBy":"mythz","isLocked":false,"ownerId":"1","slug":"gistlyn","details":"## [Gistlyn Source Code](https://github.com/ServiceStack/Gistlyn)\r\n\r\n - [github.com/ServiceStack/Gistlyn](https://github.com/ServiceStack/Gistlyn)\r\n\r\n### Maintain C# snippets in your Github Gists\r\n\r\n[Gistlyn](http://gistlyn.com) is an open platform where all C# snippets and documentation are hosted **entirely in Github gists** that lets anyone create new C# Gists or fork, update or rename and add new files to existing ones - providing a complete UI authoring experience for your C# snippets that gets saved directly to your Gists on Github. \r\n\r\n### [Run Gistlyn on your Desktop](http://gistlyn.com/downloads)\r\n\r\nIn addition to a running as an ASP.NET Web App, Gistlyn is also available as a self-hosting [Winforms Desktop or cross-platform OSX/Linux/Windows Console App.](http://gistlyn.com/downloads)\r\n\r\nRunning Gistlyn on your Desktop lets you take advantage of the full resources of your CPU for faster build and response times and as they're run locally they'll be able to access your RDBMS or other Networked Servers and Services available from your local Intranet.","detailsHtml":"

\nGistlyn Source Code\n

\n\n

\nMaintain C# snippets in your Github Gists

\n

Gistlyn is an open platform where all C# snippets and documentation are hosted entirely in Github gists that lets anyone create new C# Gists or fork, update or rename and add new files to existing ones - providing a complete UI authoring experience for your C# snippets that gets saved directly to your Gists on Github.

\n

\nRun Gistlyn on your Desktop\n

\n

In addition to a running as an ASP.NET Web App, Gistlyn is also available as a self-hosting Winforms Desktop or cross-platform OSX/Linux/Windows Console App.

\n

Running Gistlyn on your Desktop lets you take advantage of the full resources of your CPU for faster build and response times and as they're run locally they'll be able to access your RDBMS or other Networked Servers and Services available from your local Intranet.

\n
","lastStatusUpdate":"2018-03-23T05:22:16.3469990","viewCount":402,"favCount":1},{"id":1,"name":"TechStacks Website","vendorName":"ServiceStack","description":"The original TechStacks Website developed with Angular 1.2 on old school .NET Technology Stack before the advent of .NET Core with the back-end developed using ServiceStack running on the classic ASP.NET Framework and hosted on Windows/IIS that's still available from: angular.techstacks.io","appUrl":"http://angular.techstacks.io","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/screenshots/techstacks.png","created":"2015-01-01T17:33:58.9892560","createdBy":"layoric","lastModified":"2018-03-23T03:18:38.9958030","lastModifiedBy":"mythz","isLocked":true,"ownerId":"2","slug":"techstacks-website","details":"## Implementation Details\r\n\r\nTechStacks is a modern Single Page App built using ServiceStack's new [node.js powered AngularJS VS.NET Template](https://github.com/ServiceStack/ServiceStackVS/blob/master/angular-spa.md) which leverages [Bower](http://bower.io/), [Grunt.js](http://gruntjs.com) and [Gulp.js](http://gulpjs.com) for all [Client App development, optimization](https://github.com/ServiceStack/ServiceStackVS/blob/master/angular-spa.md) and [deployment](https://github.com/ServiceStack/ServiceStack/wiki/Simple-Deployments-to-AWS-with-WebDeploy#deploy-using-grunt) tasks. \r\n\r\nThe [AngularJS App](https://angularjs.org/) is based on a [Bootstrap template](http://getbootstrap.com) featuring:\r\n\r\n - HTML5 Routing to enable ideal pretty urls, full page reloads and back button support\r\n - Same Services supporting both human-readable Slugs or integer primary keys\r\n - Responsive design supporting iPad Landscape and Portrait modes\r\n - Preloading and background data fetching to reduce flicker and maximize responsiveness\r\n - [Disqus](https://disqus.com/) commenting system\r\n - [Chosen](http://harvesthq.github.io/chosen/) for UX friendly multi combo box\r\n\r\nTechStack's back-end is built on the [ServiceStack Web Framework](https://servicestack.net/) utilizing: \r\n\r\n - [Twitter and GitHub OAuth Providers](https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization)\r\n - Substitutable [OrmLite](https://github.com/ServiceStack/ServiceStack.OrmLite) RDBMS [PostgreSQL and Sqlite](https://github.com/ServiceStackApps/TechStacks/blob/875e78910e43d2230f0925b71d5990497216511e/src/TechStacks/TechStacks/AppHost.cs#L49-L56) back-ends\r\n - [Auto Query](https://github.com/ServiceStack/ServiceStack/wiki/Auto-Query) for automatic services of RDBMS tables\r\n - [RDBMS Sessions and In Memory Caching](https://github.com/ServiceStack/ServiceStack/wiki/Caching)\r\n - [Smart Razor Views](http://razor.servicestack.net)\r\n - [Fluent Validation](https://github.com/ServiceStack/ServiceStack/wiki/Validation)\r\n\r\n### [View the Source](https://github.com/ServiceStackApps/TechStacks)\r\n\r\nFor the finer details on how this website is implemented, check out the [TechStacks GitHub project](https://github.com/ServiceStackApps/TechStacks).","detailsHtml":"

\nImplementation Details

\n

TechStacks is a modern Single Page App built using ServiceStack's new node.js powered AngularJS VS.NET Template which leverages Bower, Grunt.js and Gulp.js for all Client App development, optimization and deployment tasks.

\n

The AngularJS App is based on a Bootstrap template featuring:

\n\n

TechStack's back-end is built on the ServiceStack Web Framework utilizing:

\n\n

\nView the Source\n

\n

For the finer details on how this website is implemented, check out the TechStacks GitHub project.

\n
","lastStatusUpdate":"2018-03-23T03:12:44.0426320","viewCount":14819,"favCount":5},{"id":92,"name":"Recommend","vendorName":"Recommend","description":"Recommendations from people you trust\nPowered by trust, Recommend enables you to find the best recommendations from people you know, save your own relevant experiences and share them with your private network only or become a trusted influencer.","appUrl":"http://re.co","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/screenshots/recommend.png","created":"2015-02-20T17:19:36.4722470","createdBy":"FlagSystemes","lastModified":"2017-01-26T16:26:13.9475480","lastModifiedBy":"FlagSystemes","isLocked":false,"ownerId":"30","slug":"recommend","lastStatusUpdate":"2017-01-26T16:26:13.9475480","viewCount":1325,"favCount":1},{"id":121,"name":"Zonder gein","vendorName":"YDOC Software","description":"Dutch oriented blog site with videos.","appUrl":"http://www.zondergein.nl/","screenshotUrl":"http://www.zondergein.nl/img/zg.jpg","created":"2016-04-22T07:13:04.8048640","createdBy":"RobSchoenaker","lastModified":"2016-04-22T07:13:04.8048640","lastModifiedBy":"RobSchoenaker","isLocked":false,"ownerId":"81","slug":"zonder-gein","details":"ZonderGein is a Dutch oriented blog site that publishes all kinds of articles about life, amusement, amazing things etc. With articles containing videos.","lastStatusUpdate":"2016-04-22T07:13:04.8048640","viewCount":207,"favCount":1},{"id":116,"name":"Geniuslink","vendorName":"GeoRiot Networks, Inc","description":"Geniuslink is an online service providing smarter links for commerce. Improve conversions and market to your entire audience through intelligent links.","appUrl":"https://www.geni.us","screenshotUrl":"https://ph-files.imgix.net/ef4fe380-f03c-4b88-9189-75717227889d?auto=format&w=534&h=204","created":"2016-01-26T22:23:29.3867780","createdBy":"pasichnyk","lastModified":"2016-03-02T19:21:09.9416620","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"101","slug":"geniuslink","details":"## Geniuslink Architecture Links\n\n - [Geniuslink Full TechStack](http://blog.geni.us/2016/02/25/the-geniuslink-technology-stack/) _(blog.geni.us)_\n\nDiscover more about intelligent links in our [intelligent link infographic](http://blog.geni.us/2015/12/17/what-is-an-intelligent-link-infographic/)\n\nCheck us out on [Product Hunt](https://www.producthunt.com/tech/geniuslink)","lastStatusUpdate":"2016-03-02T19:21:09.9416620","viewCount":593,"favCount":1},{"id":111,"name":"AWS Apps","vendorName":"ServiceStack","description":"Showcase website to demonstrate the ease of which you can build AWS-powered solutions with ServiceStack with 6 different web apps rewritten to use a pure AWS managed backend using, Amazon DynamoDB for data persistence, Amazon S3 for file storage, Amazon SQS for background processing of MQ requests and Amazon SES for sending emails.","appUrl":"http://awsapps.servicestack.net","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/aws/apps/screenshots/awsapps.png","created":"2015-11-27T14:09:41.8428960","createdBy":"demisbellot","lastModified":"2015-11-27T14:10:11.6211080","lastModifiedBy":"demisbellot","isLocked":false,"ownerId":"1","slug":"aws-apps","details":"### AWS Razor Rockstars\n\nVersion of Razor Rockstars showcasing ServiceStack's support for dynamic websites where all Razor Views and Markdown Content are decoupled and sourced from a S3 bucket. The Rockstars database rewritten to use a DynamoDB data store with PocoDynamo.\n\nAWS Rockstars supports live-reloading Razor Views and Markdown Content as source files in S3 bucket are modified at runtime.\n\n### AWS Imgur\n\nVersion of Imgur used to resize uploaded images into diffferent iOS device resolutions and store them in an S3 bucket.\n\nAWS Imgur was rewritten to use the ServiceStack's Virtual File System which supports multiple alternative File Storage backends including S3 bucket or Local FileSystem (default) by commenting out 2 lines of configuration for S3\n\nAll images are served directly from S3 bucket for maximum responsiveness\n\n### AWS Email Contacts\n\nVersion of Email Contacts where the same long-running Service is executed from both HTTP and MQ Hosts by just changing which url the HTML Form is posted to. Since there's a registered SQS MQ Server the \"One Way\" pre-defined route automatically publishes Requests to the registered SQS MQ broker and executed on a background Thread.\n\nAWS Email Contacts has been re-written to leverage AWS with Configuration, Contacts and their Emails stored in DynamoDB, Amazon SQS used to process MQ requests and Emails sent with Amazon SES.\n\n### AWS Todos\n\nVersion of TODO App that has been rewritten to use a DynamoDB back-end using PocoDynamo.\n\nThe Backbone TODO App is a famous minimal example used as a \"Hello, World\" example to showcase and compare JavaScript client frameworks. This example also serves as a good illustration of the clean and minimal code it takes to build REST Services with ServiceStack which promotes a simple, friction-free dev experience where the same Todo POCO can be used as-is in ServiceStack's typed Redis, OrmLite (RDBMS) and PocoDynamo clients.\n\n### AWS REST Files\n\nVersion of REST Files powering a GitHub-like browser with complete remote file management behind a REST API over an S3 Bucket.\n\nAWS REST Files was rewritten to use the ServiceStack's Virtual File System which supports multiple alternative File Storage backends including S3 bucket or Local FileSystem (default) by commenting out 2 lines of configuration for S3\n\n### AWS Auth\n\nVersion of MVC Auth providing an example of how to easily configure an App to support multiple Auth Providers.\n\nMVC Auth has been rewritten to store User Auth and production config in DynamoDb, taking precedence before falling back to Web.config AppSettings\n\nAWS Auth supports Registering User Credentials, HTTP Basic and HTTP Digest Auth, Twitter, Facebook, Google and LinkedIn OAuth providers as well as Yahoo and Custom Open Id providers.","lastStatusUpdate":"2015-11-27T14:09:41.8428960","viewCount":778,"favCount":1},{"id":109,"name":"Yaqaap","vendorName":"Ekioo","description":"Yet another question and answer platform","appUrl":"http://yaqaap.com/","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/screenshots/yaqaap.png","created":"2015-11-26T17:35:16.0831710","createdBy":"Filimindji","lastModified":"2015-11-26T18:52:42.8199230","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"87","slug":"yaqaap","lastStatusUpdate":"2015-11-26T17:35:16.0831710","viewCount":323,"favCount":1},{"id":110,"name":"Zappiti","vendorName":"Groupe ARCHISOFT","description":"The ultimate media center.","appUrl":"http://zappiti.com/","screenshotUrl":"http://zappiti.com/images/screenshots.jpg","created":"2015-11-26T17:39:31.9739270","createdBy":"Filimindji","lastModified":"2015-11-26T17:54:03.1149950","lastModifiedBy":"Filimindji","isLocked":true,"ownerId":"87","slug":"zappiti","lastStatusUpdate":"2015-11-26T17:39:31.9739270","viewCount":461,"favCount":1},{"id":106,"name":"Ohnespass.de","vendorName":"YDOC Software","description":"German oriented blog site with videos, pictures and photos.","appUrl":"http://www.ohnespass.de","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/screenshots/ohnespass.png","created":"2015-11-12T22:48:00.4412990","createdBy":"RobSchoenaker","lastModified":"2015-11-13T01:21:57.0397810","lastModifiedBy":"demisbellot","isLocked":false,"ownerId":"81","slug":"ohnespass-de","details":"OhneSpass is a German oriented blog site that publishes all kinds of articles about life, amusement, amazing things etc. With beautiful articles containing videos, pictures and photos.","lastStatusUpdate":"2015-11-13T01:21:57.0397810","viewCount":229,"favCount":1},{"id":102,"name":"Redis React","vendorName":"ServiceStack","description":"Redis React is a simple user-friendly UI for browsing data in Redis servers which as it's built from a React Desktop Template, it's available on multiple platforms including Windows, OSX, Linux or deployed as a Self-Hosting Console or ASP.NET Web Application.\n\nRedis React takes advantage of the navigation and deep-linking benefits of a Web-based UI, the productivity and responsiveness of the React framework and the rich native experiences and OS Integration possible from a Native Desktop Application.","appUrl":"https://servicestack.net/redis-react","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/redis-react/order.png","created":"2015-09-22T23:33:37.5245270","createdBy":"demisbellot","lastModified":"2015-09-23T01:12:35.9966860","lastModifiedBy":"demisbellot","isLocked":false,"ownerId":"1","slug":"redis-react","details":"Redis React is especially useful for browsing JSON values which includes a \n[human friendly view of JSON data](#category-item) and the ability to view multiple related keys together \nin a [tabular data grid](#view-as-grid) enabling fast inspection of redis data. \n\nAt anytime you can click on the JSON preview to reveal the raw JSON string, or use the Global **t** \nshortcut key to toggle between preview mode and raw mode of JSON data. \n\n[![](https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/redis-react/order.png)](http://redisreact.servicestack.net/#/keys?id=urn%3Aorder%3A10860&type=string)\n\nIt also takes advantages of the POCO conventions built into the \n[C# ServiceStack.Redis Client](https://github.com/ServiceStack/ServiceStack.Redis) where it will \nautomatically display any related entities for the current value, as seen with the related \n**Customer** the **Order** was for and the **Employee** who created it.\n\nIt works by scanning the JSON fields for names ending with **Id** then taking the prefix and using\nit to predict the referenced key, e.g:\n\n CustomerId:FRANR => urn:customer:FRANR \n\nIt then fetches all the values with the calculated key and displays them below the selected Order.\nClicking the **Customer** or **Employee** Key will navigate to that record, providing nice navigation\nfor quickly viewing a record and its related entities.\n\n### [View as Grid](http://redisreact.servicestack.net/#/search?q=urn%3Acategory)\n\nWhen keys share the same schema, clicking on the **view as grid** link lets you see multiple search results\ndisplayed in a tabular data grid, e.g:\n\n[![](https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/redis-react/category-grid.png)](http://redisreact.servicestack.net/#/search?q=urn%3Acategory)\n\n### [Web Console](http://redisreact.servicestack.net/#/console)\n\nThe built-in Console takes advantage of a Web Based UI to provide some nice enhancements. E.g. each \ncommand is displayed on top of the result it returns, where clicking the command populates the text box\nmaking it easy to execute or modify existing commands. Any **OK** Success responses are in green, whilst\nany error responses are in red. Also just like JSON values above, it shows a human-friendly view for \nJSON data which can be clicked to toggle on/off individually: \n\n[![](https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/redis-react/console.png)](http://redisreact.servicestack.net/#/console)\n\nRedis React is packed with a number of other features, checkout the \n[project home page](https://github.com/ServiceStackApps/RedisReact) for an Overview and try it out today!","lastStatusUpdate":"2015-09-23T01:12:35.9966860","viewCount":1043,"favCount":1},{"id":4,"name":"StackApis","vendorName":"ServiceStack","description":"StackApis is a simple new ServiceStack + AngularJS example project created using ServiceStackVS's new AngularJS Template showcasing how quick and easy it is to create responsive, optimized, feature-rich Single Page Apps with AngularJS and AutoQuery. Its functional home page is built with <50 Lines of JavaScript that's backed by a single ServiceStack AutoQuery Request DTO, enabling its rich querying support of an Sqlite database containing snapshot of ServiceStack StackOverflow Questions populated from StackOverflow APIs.","appUrl":"http://stackapis.servicestack.net","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/stackapis.png","created":"2014-12-21T10:32:46.9952560","createdBy":"layoric","lastModified":"2015-02-14T21:49:43.0362480","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"2","slug":"stackapis","details":"# Stack Apis\r\n\r\n[![StackApis Home](https://raw.githubusercontent.com/ServiceStack/Assets/master/img/apps/StackApis/stackapis-home.png)](http://stackapis.servicestack.net/)\r\n\r\n[StackApis](http://stackapis.servicestack.net/) is a simple new ServiceStack + AngularJS example project created with [ServiceStackVS AngularJS Template](https://github.com/ServiceStack/ServiceStackVS#servicestackvs) showcasing how quick and easy it is to create responsive feature-rich Single Page Apps with AngularJS and [AutoQuery](https://github.com/ServiceStack/ServiceStack/wiki/Auto-Query). StackApis is powered by a Sqlite database containing [snapshot of ServiceStack questions from StackOverflow APIs](https://github.com/ServiceStackApps/StackApis/blob/master/src/StackApis.Tests/UnitTests.cs#L67) that's [persisted in an sqlite database using OrmLite](https://github.com/ServiceStackApps/StackApis/blob/master/src/StackApis.Tests/UnitTests.cs#L119-L124).\r\n\r\n### StackApis AutoQuery Service\r\n\r\nThe [Home Page](https://github.com/ServiceStackApps/StackApis/blob/master/src/StackApis/default.cshtml) is built with less than **<50 Lines** of JavaScript which thanks to [AutoQuery](https://github.com/ServiceStack/ServiceStack/wiki/Auto-Query) routes all requests to the single AutoQuery Service below:\r\n\r\n```\r\n[Route(\"/questions\")]\r\npublic class StackOverflowQuery : QueryBase\r\n{\r\n public int? ScoreGreaterThan { get; set; }\r\n}\r\n```\r\n\r\n> Not even `ScoreGreaterThan` is a required property, it's just an example of a [formalized convention](https://github.com/ServiceStack/ServiceStack/wiki/Auto-Query#advantages-of-well-defined-service-contracts) enabling queries from Typed Service Clients.\r\n\r\nFeel free to play around with a deployed version of StackApis at [stackapis.servicestack.net](http://stackapis.servicestack.net/).\r\n\r\nYou can also use the public `http://stackapis.servicestack.net/` url to test out ServiceStack's new **Add ServiceStack Reference** feature :)\r\n","lastStatusUpdate":"2015-02-14T21:49:43.0362480","viewCount":709,"favCount":2},{"id":5,"name":"Razor Rockstars","vendorName":"ServiceStack","description":"Razor Rockstars is a live demo showcasing ServiceStack's new MVC Razor Engine support and enriched HTML story with multi-view engine and built-in Markdown support and No Controller / No Ceremony development options optimized for fast iteration times, run-time performance and developer happiness. There are multiple versions of Razor Rockstars showcasing ServiceStack's different hosting options including a cross-platform ASP.NET and self-hosted HttpListener Web App, running inside a Windows Service, ILMerged with compiled Razor Views into a single cross-platform .exe, Hosted inside a OSX Cocoa App or Windows Forms App using Chromium Embedded Framework.","appUrl":"http://razor.servicestack.net","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/razor.png","created":"2014-12-21T10:19:34.8012580","createdBy":"layoric","lastModified":"2015-02-14T21:35:11.0042490","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"2","slug":"razor-rockstars","details":"# Razor Rockstars\r\n\r\n### ServiceStack's new HTML powers - the website framework\r\n\r\nRazor Rockstars is a ServiceStack demo website showcasing ServiceStack's new MVC Razor Engine support and its enriched HTML story with multiple view engine support and No Controller / No Ceremony development options. In many cases we've gone beyond what MVC provides with many new and natural features optimized for developer happiness, fast iteration times and run-time performance, putting the fun back into .NET / Mono web development!\r\n\r\n![](https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/razor.png)\r\n\r\n### Runs Everywhere\r\n\r\nLike the rest of ServiceStack, you can create websites and REST services in any host on any platform, e.g:\r\n\r\n - Any ASP.NET host\r\n - A Stand-alone, self-hosted HttpListener\r\n - A Stand-alone Windows Service\r\n\r\n### Self-hosted HttpListener with\r\n\r\n - Entire App ILMerged into a single cross-platform App.exe\r\n - Hosted inside WinForms with Chromium Embedded Framework\r\n - Hosted inside Mac OSX Cocoa App with Xmarain.Mac\r\n\r\nBoth the ASP.NET Razor Rockstars and the Self-Hosted replica are identical except the SelfHost AppHost inherits from AppSelfHostBase and all its assets have the build action set to Copy if Newer so they're copied to the /bin directory after each build making it suitable for xcopyable deployment.\r\n\r\n### Windows Service\r\n\r\nAs we expect it to be a popular use-case we've added a version of Razor Rockstars running inside a Windows Service complete with install.bat / uninstall.bat Windows Service util scripts.\r\n","lastStatusUpdate":"2015-02-14T21:35:11.0042490","viewCount":406,"favCount":2},{"id":2,"name":"Http Benchmarks","vendorName":"ServiceStack","description":"A HTTP Apache Benchmarks analyzer and exporter which lets you quickly graph and visualize Apache benchmark outputs that can be imported from plain .txt files or batched together in multiple .zip files. Embedded versions of HttpBenchmarks created with ServiceStack.Gap are available to download as a stand-alone cross-platform HttpBenchmarks.exe, embedded self-host inside a Cocoa App or Windows Forms Desktop Application using the Chromium Embedded Framework.","appUrl":"https://httpbenchmarks.servicestack.net","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/httpbenchmarks.png","created":"2014-12-21T10:32:05.8752540","createdBy":"layoric","lastModified":"2015-02-14T20:58:39.0812490","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"2","slug":"http-benchmarks","details":"# HTTP Benchmarks\n\nThe HTTP Benchmarks analyzer was created using the [ServiceStack framework](http://servicestack.net) utilizing an \n[jQuery-powered UI](https://github.com/ServiceStack/EmailContacts/#api-first-development) and a Bootstrap template which takes advantage of the declarative events and auto form, validation and error binding in [ServiceStack's built-in /js/ss-utils.js](https://github.com/ServiceStack/EmailContacts/#servicestack-javascript-utils---jsss-utilsjs) library, reducing the effort and code required for building dynamic framework-less Ajax UI's.\n\n## Features\n\n### Upload your Apache Benchmarks\n\n[![Upload Benchmarks](https://raw.githubusercontent.com/ServiceStack/HttpBenchmarks/master/src/BenchmarksAnalyzer/Content/img/AdminUI.png)](https://httpbenchmarks.servicestack.net/)\n\n### Visualize the Results \n\n[![Visualize results](https://raw.githubusercontent.com/ServiceStack/HttpBenchmarks/master/src/BenchmarksAnalyzer/Content/img/benchmark-example-dbs.png)](https://httpbenchmarks.servicestack.net/databases-in-asp-net?id=120)\n\n### Analyze and Export \n\n[![Analyze and Export](https://raw.githubusercontent.com/ServiceStack/HttpBenchmarks/master/src/BenchmarksAnalyzer/Content/img/search-filter.png)](https://httpbenchmarks.servicestack.net/testplans/17/results)\n\nThe gridview supports sorting of each column and the results can be further filtered with the filters provided.\n\n#### Download uploaded dataset in different formats\n\nEach filtered resultset can be exported by clicking on your preferred format of choice in the links on the top right:\n\n![download links](https://raw.githubusercontent.com/ServiceStack/HttpBenchmarks/master/src/BenchmarksAnalyzer/Content/img/export-search-filter.png)\n\nWhich are just shortcuts for adding the format's extension to the end of the url, e.g. **.csv**.","lastStatusUpdate":"2015-02-14T20:56:37.9292520","viewCount":389,"favCount":3},{"id":90,"name":"Gluten Freedom","vendorName":"Houston Things","description":"C# apps for iOS and Android created with Xamarin framework. ServiceStack API for app and website backend. Angular using Razor .cshtml pages directly hitting ServiceStack endpoint. Redis for most data. Sql for accounts and some static data.\n\nPreviously on app engine in python but mostly migrated.","appUrl":"http://glutenfreedomapp.com","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/techstacks/screenshots/glutenfreedom.png","created":"2015-01-14T02:32:26.2142570","createdBy":"foresterh","lastModified":"2015-01-14T05:16:55.6282530","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"20","slug":"gluten-freedom","lastStatusUpdate":"2015-01-14T02:32:26.2142570","viewCount":496,"favCount":1},{"id":3,"name":"React Chat","vendorName":"ServiceStack","description":"React Chat is a port of ServiceStack Chat Server Events demo into React.js Application using ServiceStackVS new ReactJS Single Page App VS.NET Template which enables a modern approach for developing rich React.js Apps in .NET.","appUrl":"http://react-chat.servicestack.net","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/chat-react.png","created":"2014-12-30T00:10:08.0682540","createdBy":"layoric","lastModified":"2014-12-30T00:10:08.0682540","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"2","slug":"react-chat","details":"## React Chat Details\n\nis a port of [ServiceStack Chat](https://github.com/ServiceStackApps/Chat) Server Events demo to [React](http://facebook.github.io/react/) built with [ServiceStackVS's](https://github.com/ServiceStack/ServiceStackVS) new node.js-based **ReactJS App** VS.NET Template enabling an optimal iterative dev experience for creating optimized React.js Apps. The [React Chat GitHub project](https://github.com/ServiceStackApps/Chat-React) includes an intro to Facebook's [React](http://facebook.github.io/react/) library and [Flux pattern](http://facebook.github.io/react/docs/flux-overview.html) and walks through how to use them to put together a React-based App.","viewCount":1588,"favCount":1},{"id":6,"name":"Redis Admin UI","vendorName":"ServiceStack","description":"RedisAdminUI and XML, JSON, JSV and SOAP Web Service layer around Redis","appUrl":"http://redisadminui.servicestack.net","screenshotUrl":"https://raw.githubusercontent.com/ServiceStack/Assets/master/img/livedemos/redisadminui.png","created":"2014-12-29T04:13:02.2642570","createdBy":"layoric","lastModified":"2014-12-29T04:13:02.2642570","lastModifiedBy":"demisbellot","isLocked":true,"ownerId":"2","slug":"redis-admin-ui","viewCount":939,"favCount":2}]})