Database for Portfolio CMS based on Node js - node.js

I am pretty new to Node.js, and I am stuck a bit. There is a project a portfolio CMS what popped out of my mind, and actually the simplicity of Ghost
Inspired me, that you just download and it works, but I suddenly realized at this case it might not work. Ghost uses SQlight as far as I know.
So my question is, the platform will handle custom pages, so uses will be able to create pages like in Wordpress, will handle blog posts, image gallery and theming.
I was thinking to use MongoDB, but I have some questions.
So people will be available to to create image galleries and insert it to pages as short code (just telling) and my question is.
Is MongoDB capable for this type of cms?
Will the embedded data for the image gallery can cause problems in the future or has any limits?
Image gallery example
Model.Gallery {
id: OjectId,
name: Gallery name 1,
CreatedBy: userId,
images: [
{filename: 'image 1'},
{filename: 'image 2'},
{filename: 'image 3'},
]
}
Or would you recommend something else?
Thank you

Sounds like you're looking for KeystoneJS.
(disclaimer: I am a core contributor)
It's a mongodb-based CMS for node.js and has a Yeoman generator that you can use to quickly create a blog site with posts, image galleries and an enquiry form. The generator builds basic templates with jQuery and Bootstrap, so it's easy to customise or drop a theme into.
It uses Jade for templates by default, but you can configure it with any template engine (EJS, nunjucks, dust, etc). Same with LESS for CSS preprocessing (as Bootstrap does).
While Ghost is very focused in the features it provides (and doesn't give you generic CMS features like Wordpress does), Keystone is more flexible, and its Admin UI is generated based on the models you define (which, in code, look very similar to the example in your question). So you can add other models, and create relationships between them, and the Admin UI will automatically include them.
Image galleries don't really have any limits as in MongoDB you're just storing references to the images, not the files themselves. To make this easy in KeystoneJS we often use a service called Cloudinary, which will handle uploading and resizing for you, and serve the images via a CDN. Keystone also supports Amazon S3 or the local file system if you prefer, though.
For custom pages, you can add these as other templates, or some people define a 'Pages' model for generic content.
Hope this helps!

Related

add custom informations to ghost posts

I am searching an CMS to publish a blog based on nodejs. One of the cms I found was ghost. It looks easy. But I am not sure if it is to simple.
What I want to do is, to add Infomationens like a location or a city name, to show Post or Images on a Map. I found no informations about. Is it possible?
If not, are there other Blog systems base on nodejs which have possibilty to add custom information?
This isn't built into the Ghost core, but you could write your own plugin to do this! Check out the development documents here https://github.com/TryGhost/Ghost/wiki/Apps-Getting-Started-for-Ghost-Devs

Open source Nodejs CMS for image/embed video sharing

I'm planning to learn about Nodejs and try to make a website for upload image or embed video from other site for my class.
It likes a public social network with just a just a few blog features for administrator only.
Cause of the limited of myself and the time, I decide to use an open source Nodejs CMS which has almost those function and contribute it to became my class's website.
Please give me some suggestion, are there any CMS like that?
I tried once Relax CMS, it's really powerful.
From GitHub
Relax is a powerful new generation CMS on top of React and Node.js which aims for a better way of building websites.
It features a live page builder based on components and a smart and easy way of binding dynamic data to them.
It's almost ready for production, but you can check the demo out, and the project page https://github.com/relax/relax.
Did you take a look at Strapi (https://github.com/strapi/strapi)?
Halfway between a Node.js Framework and a Headless CMS, it saves weeks of API development time.
Thanks to its extensible plugin system, it provides a large set of built-in features:
Extensible Admin Panel
Authentication & Permissions management
File management
Content Management
API Generator
GraphQL support
Let me know if you have any question.

Looking for a Node.js-based full-stack to create a modern blog

I’d like to move away from Wordpress with my blog which may also contain pages with different layouts/design. Therefore I’m looking for suggestions for a full web-stack which meets my requirements below.
I would like to use Node.js and also DocPad for the blog itself but DocPad seems not to be made for the kind of dynamic content I’d like to have.
These are most of my requirements:
dynamic content (like unlimited scrolling for posts, switching categories without fully reloading a page) crawlable by
search-engines crawlable by search-engines
multi-lingual blogging with markdown
atom-feeds
sitemap-generation
full-text search for articles / pages
manage/count downloads
pages may have a different designs/template (e.g. if I want to experiment with HTML5 or anything)
embed media from YouTube, Soundcloud etc.
responsive layout
Technologies which are set
Node.js
Express
I’m eyeing with the following technologies as well (this is not a stack, just technologies I find interesting):
Ember.js for the client-side
Foundation
DocPad
Mongo DB
Grunt
I will recommend you Mean.js It's a complete stack of nodejs, express using mongodb. Frontend is based on angular I think is very powerful and you can use yeoman generator to avoid to write a lot of boilplate code.
I heard that mean.io is very useful too but I didn't use it yet.
Take a look here http://meanjs.org/
EDIT: Here is an interesting thread about this two stacks Difference between MEAN.js and MEAN.io

Static web site generator with big template/theme collection?

Any static web site generators (cms'es with export-to-html, or dedicated scripts) with big collections of templates/themes (not for blogs)?
Want to write how-to/wiki/tutorial website. (Created just by me)
Will edit website on my computer.
Will host static files on Amazon S3.
Hacking my own solution or using simple generators, fails when I need to make layout/design. That is just not my skill. (Hence "big template/theme collection" in title/question)
After doing a Google search I came across this list https://iwantmyname.com/blog/2011/02/list-static-website-generators.html. The one that seemed to be what you where looking for was ikiwiki a wiki compiler that converts wiki pages into html. I would look at the themes on http://ikiwiki.info/theme_market/ an see what you like. Although this does not have a big collection of themes it seems that it was the best match to what you wanted. Also I believe there are a few themes shipped with the ikiwiki package although I am not sure how many. I would start there to see if what else you can find on that site.

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

Resources