Skip to content

Starting point for a single-page web application utilizing RiotJS and Nancy

License

Notifications You must be signed in to change notification settings

robkeimig/riotjs-nancy-turnkey-app

Repository files navigation

RiotJS turnkey app with Nancy hosting

This project demonstrates a simple single-page web application stack.

Features

  • Fully-integrated Nancy hosting (API + web content)
  • Simple, bare-bones SPA architecture using RiotJS
  • Twitter Boostrap for making things look decent
  • Demonstrates routing, session management, nested views, observables
  • Session management utilizing JWT for easily scaling up to cloud-based hosting
  • Runs on top of .NET core (Linux/Windows/OSX)
  • Back-end utilizes EF Core w/ SQLite provider for persistence
  • No NPM shenanigans - Dependency management purely via NuGet and JS CDN (or local hosting as desired)

Hacking the web application

Hit F5 in VS15/VSCode and load the WebContent folder in your favorite editor. Refresh browser as needed. It can be this easy.

Hacking the .NET back-end

Same as above.

Demo

Click Here for a demonstration of what this project currently looks like when running.

Use cases

Intranet/Low-Traffic Internet

This project as-is would be suitable for small to medium-sized web applications that run on intranet or lower-traffic internet sites. The entire stack can easily be built and deployed for hosting on a single box.

"Webscale"

The back-end can be thrown out and easily swapped to use a cloud-based API on top of AWS or similar platforms. All that you need to do is serve the contents of /WebContent out of a CDN (S3, et. al.) and point the URL inside endpoint.js at whatever backend provides the API.

Motivation

The current popular ecosystem of NPM dependency management has become very complex and prone to breakage 1 2 3. This project is intended as proof that modern web experiences are possible with minimal JS library usage and a non-existent web content build pipeline. The performance and simplicity of vanilla js is often overlooked in light of perceived conveniences afforded by various libraries.

1 Visual Studio Code Breaks NPM

2 Left-Pad removal from NPM breaks everything

3 Windows node_modules path length issue

About

Starting point for a single-page web application utilizing RiotJS and Nancy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages