How to create a website that can be extended through plugins - node.js

I'm curious if there are any best practices, libraries, or good ideas for structuring a Node.JS application so that its functionality can be extended through plugins. The plugins would act much like they do in a common CMS like Wordpress were the user somehow gets the files to a plugin directory and then enables them without having to restart the server.
Thanks for any direction you can give me. I'm not afraid to reinvent the wheel (it's a lot of fun), but I am quite lazy and would love to find something that does the hard work for me. : )

Related

Allow plugins in nodejs application / electron

I am creating an application which further down the line, will allow users to create plugins for it. I am new in regards of plugin development and do not know how to properly search for examples of this.
As it is this is far too broad -- there's no actual question to it, only a statement. If you'd like a useful answer try editing to include a question which we can attempt to answer.
Here's a couple open-source Electron-based projects that support plugins which should help you get started, or at least give you an idea what to look around for/start building:
a game editor
electron-updater

Is there a Glimpse plugin for OpenRasta?

Pretty much what it says on the tin - I'd love to use Glimpse as it covers the majority of our stack (knockout, nHibernate, signalR) but we use OpenRasta for our web framework.
I've searched around and can find little - does anyone know of any plugin?
As a sidenote - would writing one be very involved?
I don't know of an OpenRasta plugin for Glimpse.
The Glimpse side of plugin writing is very easy, so any difficulty would stem from OpenRasta's extensibility and hosting story. Unfortunately, I don't know enough about OpenRasta to speak to that.

Is is possible to develop website like delivery.com with wordpress?

Hi I am running a delivery shop and using delivery.com for my shop.
I also want to have my own website which user can order service or choose delivery time on the website like delivery.com does.
I wonder if is it better to develop from scratch or can I use wordpress and customize it? or are there plugins or widgets I can use for my website?
Please give me some advice what will be the best way to build my website.
Thank you.
Well technically anything is pretty much possible in Wordpress but it won't happen out of the box, unless you already have a theme in mind which serves this purpose. I won't be surprised if there is a theme out there which you can use to do this.
Personally I would build this from scratch as you would be able to build exactly what you want and you can build it with scalability in mind as well.
Wordpress tends to fall off when the site starts getting A LOT of traffic.
Check out Ruby on Rails, you would be surprised how at how simple it can be to build something like this.
The server will go down (if) when your site will visit 1000+ persons, because one of the problem of universal script that can be used (in opinion of creators) every where is that it make 100 sql queryes to display one simple page.

NodeJS Skinning

Is there a module or similar things that support skinning in NodeJS? I want to build a NodeJS website, and want to be able to re-skin the website as I like without much efforts, like in Wordpress.
Is skinning supported in NodeJS?
If you're interested in building a website in Node.js and don't need a wordpress-style cms behind it, there are few projects that can help you out.
Have you looked into Bootstrap? It's built with less which you can easily plug in to your Express setup (see the guide here, using the command line executable to set up a new project you can specify less like this: express --css less myapp and it will do all the work for you)
In the bootstrap less file are several variables you can use to change the colours, fonts, sizes, etc, and it's also got a lot of helpers for grid layouts and responsive designs.
It even includes a few useful javascript plugins too which make the ui nicer with less work.
There are also a lot of sites with themes and theme generators around which then work on top of bootstrap, and may achieve what you want.
Plugging in this sort of solution (whether bootstrap or other) is about as close as you can come to getting skinning for node; As otherwise suggested if you're looking for a CMS out of the box as well, probably best to look for another platform like Wordpress.
Node.js is not a content management system. It is a platform on top of which you could built a web server with a content management system. To answer your question you need to be looking for node.js based content management systems that support themes.
The only node.js CMS that I am aware of is Calipso. It's still pretty alpha-stage. It may have some theming support, but it is nowhere near as polished as Wordpress.
Also is there a reason why you want to use node.js? I mean there is nothing wrong in using Wordpress for creating a themeable website - it is just awesome for that.
If you just want another OnlineShop, or maybe a blog, i think nodejs is maybe not your right choose as Jed Watson told.
If your requirements are more complicated, and you want a quick and easy implementation of a nice web interface, and you have html, javascript, and css knowledge... I strongly recommend you just trying to work with MEAN.js
It puts together MongoDB Expressjs, AngularJs, and NodeJs.
Use this, for example with a yeoman fullstack constructor and you will have a powerful webapp, with user autentication, and much more in a few minutes.
After that, the use of jade, less, scss, and similar languages of modelling the front, and the easy way you can also model collections in the back, is for me the best combination you´ll find for creating a website today.
Hope it´ll help you
King Regards

Web Design Management programs/resources?

I originally got into programming by learning some javascript while trying to set up a website. I took to programming better than html and CSS and have since been learning more of it. Part of the problem was that I just wanted to do everything myself, all the javascript, CSS, HTML, everything. No external libraries or help. I wanted to understand and do all of it. The general hostility towards WYSIWYG programs from the development community didn't help either.
The amount of work required to do everything completely on my own is what deterred me, though I didn't want to have everything handed to me. A bit down the line from learning programming I decided I wanted to make some simple programs like I kept seeing everyone else make in Visual Studio. With programs, I knew it wouldn't only be difficult, but near impossible for me to do anything but use Visual Studio. As amateur as it feels dragging and dropping buttons and controls and having all the code generated, it's allowed me to work on the more personal aspects of the program and not the nitty gritty and has been a lot more fun.
I've decided that I want to give web development another shot, but this time with a little less ego. Is there any way I can have something like Visual C# for websites?
edit: As of yet, I can't fund my website experiments, so I'm using freehosting. The x10 hosting I use doesn't support asp.net, so I can't use VS for it :(.
You won't be using Visual C# for website design, but you'll use Visual Web Developer. You can download VWD here.
Edit: As per your edit, I would be a bit more concerned with using a technology that you find passion in and feel comfortable with (or at least the foresight to know it's something you want to pursue and dedicate yourself to learning and mastering). Just because you can't host a website application on the internet doesn't mean you should throw the towel in on ASP.NET. Some of the most fun applications are intranet applications. Just get IIS Express up and running and you'll have a blast.
You'd also be surprised at how cheap a webhosting "rental" can be that supports ASP.NET.

Resources