I need to manage content (pages, key/value list, assets and more) in one webbased system for multiple websites and mobile apps.

My idea is to create a web api, secured with tokens for apps and sites and some kind of OAuth authentication, also with JSON web tokens. I want to create it with ASP.net Web Api, Entity Framework and Identify.

My idea is to split up the cms into a single page application, probably in AngularJS, and the Web API. So first create the domain model, how do we need to structure all the content/data and store this. After that create the api. And when that is finished, I need to create a SPA-cms webapplication for the end users.

Every website or app can use the api to read and write data over https and with a secret token, and every other party is free to choose whatever technique or programming language they want to use.

What do you all think about this idea? Can it be a architechture/technique to use for a long time? And do you think this architecture can be used for high traffic websites?


Edit: I just want to talk about ideas... if this is the best for this time, to use an API, or just create a MVC-CRUD application with forms and stuff

  • There are a lot of details to work out but I don't see a anything wrong with the design so far.
    – Grax32
    Commented Feb 28, 2015 at 22:39
  • I can'r think of a good reason to write Yet Another CMS when there are so many out there already. If you are doing this as an exercise you should say so. Otherwise: en.wikipedia.org/wiki/…
    – msw
    Commented Aug 13, 2017 at 0:01

2 Answers 2


For the edit/admin interface, a SPA is fine.

For viewing the content, though I wouldn't recommend a SPA. Generally, you want to generate static pages from the content a user enters. This is faster/cheaper at runtime (serving static HTML is far easier than reading content from a DB and then rendering a page), and better for SEO. It's the approach used by most CMSs.


Yes, this better for long run. Isolating core app and providing access through api is good practice currently that way no matter what type of client it is , it can make use of the same environment that web app is using, also there is no need to rewrite api for any specific client

Make sure u have proper access control for resource accessing in API

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.