cerberus-mvc logo

Node MVC API Stack with CLI


Build as a clustered express server, socket.io server or cloud based FaaS architecture such as AWS; develop/debug in familiar MVC, deploy as modular resources...

Find Out More

Stop Fragmentation, Stop Repetition, Start Creating Beautiful


Why was CerberusMVC born? Simple answer, with cloud based modular resource architecture like lambda comes the uncontrolled mess of fragmented resources; functions written by many individuals, all in different ways, implementing similar baked in functionality in different patterns and layouts. With the explosion of FaaS, the awesome power of modular lightweight agnostic functionality, unstructured fragmented code collections have flourished.

Entropy is the enemy of the structured codebase, using a structured stack helps prevent this, by giving developers a known structured way to work. Instead of developing collections of functions to deploy to cloud service providers, create your API as a clean, ordered, MVC stack that deploys to modular cloud architectures and gain the best of both worlds.

Gone are the 100 ways to write a function, gone are the choices of how to deal with libraries, gone are the headaches of handling authentication in sessionless API collections. CerberusMVC gives you structured MVC you can run on lambda or express with controllers, models, middlware, services, requests and responses in the style you know, deploying all this as individual resources on FaaS cloud base architures (or as clustered service setups for VPS's).

Start with Simple

Start Simple Using the CLI


We use the CLI tool (cerberus-cli) to generate a new CerberusMVC lambda or express project; the CLI creates structure, default files, generates a small example to get you going and allows you to start your API immediately with swagger interactive documentation.

Create your project as an ExpressJS clustered server, allowing you to install on a VPS of your choice for a simple API. Need sockets? generate a socket server with socket.io, or mix both REST and web sockets with a combined express rest and express socket.io handler. Want to use the power of FaaS, cerate an AWS project, using Cloud Formation to orchastrate deployment (requires AWS SAM and docker to be installed and functional).

Want to use a database with models, no problem, the CLI even has migration support, allowing you to manage your database creation and maintenance as the project evolves. Let the CLI manage your database changes through simple no fuss SQL migration files, tracking migrations.

Install the CLI...

npm install cerberus-cli

Check version is latest...

cerberus-cli --version

List help and commands...

cerberus-cli --help

Start a new CerberusMVC project at this location...

cerberus-cli init

Whats Next?


Docker, Docker Compose and SAM

So you have got the CLI loaded, you have started a new project, whats next? Well you will need docker and docker-compose to use the swagger interactive documentation for your API. You can find instructions all over the internet for how to get this up and running depending on your system Docker for windows, Docker Engine for linux, Docker for MAC.

If you started an express or socket (socket.io) project, you are good to go. If you started an AWS project, you will also need docker to run the serverless application model from AWS. This will allow for local running of AWS resource architecture. As well as docker you will need the serverless application model CLI tool AWS SAM.

Get Technical

Your ready to explore what can be done with CerberusMVC, move to the documentation area and find out how to get the most out of your stack.

Cerberus Documentation

cerberus-mvc logo

Want to Get in Touch?


Have ideas about what if? Maybe you want to talk about support for specific systems and/or features, im listening! Feel free to come talk to me or ask questions, I will try my hardest to get back to you as time permits.

Bugs and general support should be directed at github, everything else can come via my own website pa.ulsmith.net.