Skip to content

puristajs/purista

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,059 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PURISTA

Let developers focus on pure business logic

npm (scoped)

A backend framework for keeping professional software development fast, efficient, secure and maintainable!
Build awesome products on one code base - ready to be deployed on edge/IoT, server or cloud.
Run your application as a single instance, microservices or as cloud functions without touching your business logic.

Highly modular and easy to extend and to be customized for your needs.

Visit purista.dev

Follow on Twitter @purista_js
Join the Discord Chat

PURISTA - Typescript framework for IoT, microservices, and serverless | Product Hunt


PURISTA

This framework adapts and combines a wide range of different patters from domain driven design, cqrs, microservice, event sourcing and lambda functions.

It is built from the ground up in typescript and highly focuses on schema, and auto generation of types, input-output-validation, OpenApi documentation (swagger) and tracing via OpenTelemetry.

The main goal is to let developers keep focusing on solving business requirements while building robust & maintainable software fast and efficient in professional business environments.

Visit purista.dev

Quick start

Create a new project folder and simply run:

npm create purista@latest

The CLI tool will guide you through all the steps. The setup uses blueprint templates so you can choose the initial runtime and infrastructure options.

After successful init, start adding business logic with the PURISTA CLI by adding your first service.

purista add service

As soon as you've created your first service, you can start adding commands and subscriptions to implement your business logic.
To add a command to your service, use the CLI tool.

purista add command

For pull-based CQRS workloads you can now scaffold queues and worker implementations directly from the CLI.
The queue wizard adds typed schemas, .canEnqueue() entries, and optional producer commands so HTTP handlers can return a 202 Accepted response immediately.

purista add queue
# or add an additional worker for an existing queue
purista add queue-worker

Integration tests

PURISTA supports opt-in integration tests for external systems (AWS Localstack, NATS, Azure, GCloud, Infisical).

  1. Create a local env file from .env.example.
  2. Set the PURISTA_* flags you want to run.
  3. Add required credentials for cloud-backed tests (for example GCloud and Infisical).
  4. Run:
npm run test:integration

The integration test runner uses Node's native --env-file=.env support via the root test:integration script.

Security

Please help us to provide a secure software.
See: Security

Contributors

Contributors are welcome!

Sebastian Wessel

PURISTA handbook

Sponsor this project

 

Packages

 
 
 

Contributors