Skip to content

sbalmt/ez4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZ4 Logo

Develop & Deploy 🚀

A collection of high‑quality, reflection‑driven components that make it EZ4 building modern applications on top of AWS with NodeJS and TypeScript.

Why EZ4

Most engineering teams strive to build solid foundations and deliver value when building production‑ready cloud applications. EZ4's mission is to provide all the tools needed to achieve this with as little friction as possible. It gives you a single unified model to declare infrastructure, connect services, validate payloads, and deploy everything... without YAML, boilerplate, or scattered configuration.

Features

EZ4 treats your TypeScript code as the source of truth for both infrastructure and runtime.

  • Base contracts to declare serverless infrastructure resources.
  • Built‑in serverless clients to consume infrastructure resources.
  • Automatic connection and permissioning between resources.
  • Strongly typed validation system for inputs, schemas, and payloads.
  • Reflection‑driven architecture to provision infrastructure.
  • One command to deploy infrastructure and source code.
  • One command for local emulation and testing.

Components

Each component exposes a contract, a strongly typed interface that describes how the resource is created, configured, and consumed. Contracts are provider‑agnostic, composable, type‑safe, and reflection‑driven. They describe both the infrastructure and the runtime behavior of a component, allowing EZ4 to generate cloud resources and local clients from the same source of truth.

Contract Local Provider AWS Provider
Gateway Gateway API Gateway
Database Database DynamoDB, AWS Aurora
Cache Cache Valkey
Scheduler Scheduler Scheduler
Storage Storage Bucket
Topic Topic Topic
Queue Queue Queue
Distribution N/A CloudFront
Email N/A Email
Validation N/A N/A
Factory N/A N/A

Getting started

Read the quick start guide and explore the examples to begin.

What's next

Requirements

  • TypeScript 5.8+
  • NodeJS 22.7+

License

MIT License