DEV Community

Discussion on: How would you build a full stack Node.js web app today?

Collapse
 
thespiciestdev profile image
James Allen

All-in with TypeScript, on both ends: back with NestJS and front with Angular.

  • I'll front my NestJS application with serverless functions (i.e. AWS Lambda, Azure Functions, etc.)
  • I'll build and host my Angular artifacts on a CDN.
  • I'll update my client-facing pages to point to the latest artifacts at the CDN.
  • I'll cache and build with Bazel (once all of the kinks get sorted out!)
  • I'll pick my database according to the application's purpose/business.
Collapse
 
markoa profile image
Marko Anastasov

How do you organize the serverless functions and frontend code in Git?

Collapse
 
thespiciestdev profile image
James Allen

A single repository with nestjs and angular folders, a shared folder with interfaces and other overlapping classes and from there the organization of new files and scripts would be made on a case-by-case basis (i.e. what's cross-cutting or application-specific.)

I'd organize serverless function code in the nestjs folder as they'd all likely just wrap the application in a cloud specific way (an AWS wrapper, an Azure wrapper, etc.) and have their respective build/deploy scripts there, too.

Thread Thread
 
markoa profile image
Marko Anastasov

Awesome, thank you for sharing!

Collapse
 
davidyoung77 profile image
David Young

Do you have a starter repos I can reference to get this going, this is exactly what I am working on?

Collapse
 
thespiciestdev profile image
James Allen

While not exactly, I have a monorepo (github.com/METACEO/monorepo-example) that shows a structure that I use to achieve the above.

Depending on my cloud provider, I'll write top-level scripts to help with development, deployment, etc. (all of which I hope gets much easier with Bazel.)

Tailoring this monorepo to something cloud-specific probably deserves it's own write-up beyond a comment.