Defining the general vision for what Cardinal is #1
ernestoresende
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This project is the answer to years of having to deal with boilerplate work and making the different pieces that compose a full-stack application project actually work together.
On a modern full-stack application, there are a ton of moving pieces that need to be considered:
Piecing all these questions together into a cohesive "thing" is not easy. Some technologies don't exactly talk well with each other, and deployment path is often obscure when you go outside of self managed solutions.
Cardinal aims to bring some ease to that problem by putting together predefined libraries, project structures and configurations that work the entire way for a given combination. We can think of it as the developer, asking from the machine:
Is it a template?
By definition, yes. We could define it as multi-template given that the choices made during installation can change how your specific template is scaffolded, but that’s just a matter of semantics. It will be marketed as a "monorepo project starter".
Core principles
It is important to keep in mind that it isn't trying to solve all problems, only the most pressing ones faced by me, and — hopefully, in the near future — by the community that adopts it:
Another core principle is that it bets really heavily on serverless architectures; All deployment paths take a "serverless-first approach". Vercel is a serverless platform by default, and while traditional deployments are possible in AWS, relying on SST to setup the infrastructure and deployment pipeline means AWS deployment path is also going to bee completely serverless (Lambda, Lambda@Edge, RDS, etc).
The diagram bellow gives an top-level idea of how the CLI will behave:
For the initial launch, it seems like a sensible enough idea to support Vercel and AWS deployments, and incrementally add support for more deployment paths in the near future (initial planned support for Google Cloud Platform and Cloudflare Workers).
Next steps
Beta Was this translation helpful? Give feedback.
All reactions