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 MoreWhy 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 SimpleWe 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
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.
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.
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.