0.2.817 • Published 3 years ago

aarts-utils v0.2.817

Weekly downloads
9
License
ISC
Repository
github
Last release
3 years ago

aarts-core

Aws artifacts(aarts) helps you get up to speed with migrating your existing domain logic to aws serverless lambda, using dynamodb persistent storage. It is modularized into npm packages, so client applications may focus only on domain logic. Please refer to the example-app in this repo

Features

DynamoDB

  • single table design implementation
  • optimistic locking implementation
  • historical records of the items manipulations
  • aggregation record keeping totals of all domain items
  • Unique constraints
  • Higher level item manager objects, which lay foundations on client domain logic plugging
  • Async generators, who can yield validation messages and return the actual result (if all validation/logic succeeded)

Lambda

  • Domain Logic uploaded into a AWS Lambda Layer
  • SNS-SQS subscription for an event-bus async features
  • AppSync/GraphQL asynchronous notifications
  • Notifying for any errors via SNS topic

Final goal

Implementing a simple interface will allow you to run your code in an aws lambda container, using the infinite-scaling dynamodb, as persistent storage. In the core version, there is only one lambda needed. Client (domain) code is deployed into a lambda layer, so the code for the lambda is really a tiny one, only serving as a dispatcher to different entry points into the client application. There is an option for introducing another lambda, eventDispatcher, which unlocks the event bus features and asynchronous notifications via AWS AppSync

initial conditions

  • You have a set of domain entities, a business context, with a controllers / repositories / etc, and probably with bunch of domain validators in fornt of any CRUD/RPC logic. OR
  • you start building an app from scratch

Prerequisites

  • aws cli, nodejs, typescript
  • aws sam local, docker, NoSQL AWS Workbench - for rapid local development

First milestone implementation

  • Injecting whatever domain logic into the lambda handler, simple IoC using the Nodejs Global interface. Convention. Pattern Matching.
  • Decribing the domain entities, in a way, for aarts to know which one are of interest, so we can query over them
  • Typescript async generators allowing for reporting (notifying clients etc) over the execution progress (yielding notifications, returning results)
  • Mixin patterns for merging / decorating each domain entitiy with necessary dynamo item keys. Thanks to Nickolay Platonov
  • Dynamodb transactional operations, allowing for a domain entity with up to 23 refkeys
  • Queries: Mainly index preloading, implemented with 4 GSI used for describing all domain key properties of interest (currently 2 for string types and 2 of number types)
  • Keeping a history of all CRUD mainpulations, using versioning

  • Dynamodb trickery is inspired by the talks of Rick Houlihan and the AWS Dynamodb best practices

0.2.817

3 years ago

0.2.816

3 years ago

0.2.815

3 years ago

0.2.814

3 years ago

0.2.813

3 years ago

0.2.812

3 years ago

0.2.811

3 years ago

0.2.810

3 years ago

0.2.809

3 years ago

0.2.808

3 years ago

0.2.807

3 years ago

0.2.806

3 years ago

0.2.805

3 years ago

0.2.804

3 years ago

0.2.803

3 years ago

0.2.802

3 years ago

0.2.801

3 years ago

0.2.799

3 years ago

0.2.798

3 years ago

0.2.797

3 years ago

0.2.796

3 years ago

0.2.794

3 years ago

0.2.793

3 years ago

0.2.792

3 years ago

0.2.791

3 years ago

0.2.789

3 years ago

0.2.790

3 years ago

0.2.788

3 years ago

0.2.787

3 years ago

0.2.786

3 years ago

0.2.785

3 years ago

0.2.784

3 years ago

0.2.783

3 years ago

0.2.782

3 years ago

0.2.781

3 years ago

0.2.780

3 years ago

0.2.779

3 years ago

0.2.778

3 years ago

0.2.777

3 years ago

0.2.776

3 years ago

0.2.775

3 years ago

0.2.774

3 years ago

0.2.773

3 years ago

0.2.772

3 years ago

0.2.771

3 years ago

0.2.770

3 years ago

0.2.769

3 years ago

0.2.768

3 years ago

0.2.767

3 years ago

0.2.766

3 years ago

0.2.765

3 years ago

0.2.764

3 years ago

0.2.763

3 years ago

0.2.762

3 years ago

0.2.761

3 years ago

0.2.760

3 years ago

0.2.759

3 years ago

0.2.758

3 years ago

0.2.757

3 years ago

0.2.756

3 years ago

0.2.755

3 years ago

0.2.754

3 years ago

0.2.753

3 years ago

0.2.752

3 years ago

0.2.751

3 years ago

0.2.750

3 years ago

0.2.749

3 years ago

0.2.748

3 years ago

0.2.747

3 years ago

0.2.746

3 years ago

0.2.745

3 years ago

0.2.744

3 years ago

0.2.743

3 years ago

0.2.742

3 years ago

0.2.741

3 years ago

0.2.740

3 years ago

0.2.739

3 years ago

0.2.738

3 years ago

0.2.737

3 years ago

0.2.736

3 years ago

0.2.735

3 years ago

0.2.734

3 years ago

0.2.733

3 years ago

0.2.732

3 years ago

0.2.731

3 years ago

0.2.730

3 years ago

0.2.729

3 years ago

0.2.728

3 years ago

0.2.727

3 years ago

0.2.726

3 years ago

0.2.725

3 years ago

0.2.724

3 years ago

0.2.723

3 years ago

0.2.722

3 years ago

0.2.721

3 years ago

0.2.720

3 years ago

0.2.719

3 years ago

0.2.718

3 years ago

0.2.717

3 years ago

0.2.716

3 years ago

0.2.715

3 years ago

0.2.714

3 years ago

0.2.713

3 years ago

0.2.712

3 years ago

0.2.711

3 years ago

0.2.710

3 years ago

0.2.709

3 years ago

0.2.708

3 years ago

0.2.707

3 years ago

0.2.706

3 years ago

0.2.705

3 years ago

0.2.704

3 years ago

0.2.703

3 years ago

0.2.702

3 years ago

0.2.699

3 years ago

0.2.701

3 years ago

0.2.700

3 years ago

0.2.698

3 years ago

0.2.697

3 years ago

0.2.696

3 years ago

0.2.695

3 years ago

0.2.694

3 years ago

0.2.693

3 years ago

0.2.692

3 years ago

0.2.691

3 years ago

0.2.690

3 years ago

0.2.689

3 years ago

0.2.688

3 years ago

0.2.687

3 years ago

0.2.686

3 years ago

0.2.685

3 years ago

0.2.684

3 years ago

0.2.683

3 years ago

0.2.682

3 years ago

0.2.681

3 years ago

0.2.680

3 years ago

0.2.679

3 years ago

0.2.678

3 years ago

0.2.677

3 years ago

0.2.676

3 years ago

0.2.675

3 years ago

0.2.674

3 years ago

0.2.673

3 years ago

0.2.672

3 years ago

0.2.671

3 years ago

0.2.670

3 years ago

0.2.669

3 years ago

0.2.668

3 years ago

0.2.667

3 years ago

0.2.666

3 years ago

0.2.665

3 years ago

0.2.664

3 years ago

0.2.663

3 years ago

0.2.662

3 years ago

0.2.661

3 years ago

0.2.660

3 years ago

0.2.659

3 years ago

0.2.658

3 years ago

0.2.657

3 years ago

0.2.656

4 years ago

0.2.655

4 years ago

0.2.654

4 years ago

0.2.653

4 years ago

0.2.652

4 years ago

0.2.651

4 years ago

0.2.650

4 years ago

0.2.649

4 years ago

0.2.648

4 years ago

0.2.647

4 years ago

0.2.646

4 years ago

0.2.645

4 years ago

0.2.644

4 years ago

0.2.643

4 years ago

0.2.642

4 years ago

0.2.641

4 years ago

0.2.640

4 years ago

0.2.639

4 years ago

0.2.638

4 years ago

0.2.637

4 years ago

0.2.636

4 years ago

0.2.635

4 years ago

0.2.634

4 years ago

0.2.633

4 years ago

0.2.632

4 years ago

0.2.631

4 years ago

0.2.630

4 years ago

0.2.629

4 years ago

0.2.628

4 years ago

0.2.627

4 years ago

0.2.626

4 years ago

0.2.625

4 years ago

0.2.624

4 years ago

0.2.623

4 years ago

0.2.622

4 years ago

0.2.621

4 years ago

0.2.620

4 years ago

0.2.619

4 years ago

0.2.618

4 years ago

0.2.617

4 years ago

0.2.616

4 years ago

0.2.615

4 years ago

0.2.614

4 years ago

0.2.613

4 years ago

0.2.612

4 years ago

0.2.611

4 years ago

0.2.610

4 years ago

0.2.609

4 years ago

0.2.608

4 years ago

0.2.607

4 years ago

0.2.606

4 years ago

0.2.605

4 years ago

0.2.604

4 years ago

0.2.603

4 years ago

0.2.602

4 years ago

0.2.601

4 years ago

0.2.600

4 years ago

0.2.599

4 years ago

0.2.598

4 years ago

0.2.597

4 years ago

0.2.596

4 years ago

0.2.595

4 years ago

0.2.594

4 years ago

0.2.593

4 years ago

0.2.592

4 years ago

0.2.591

4 years ago

0.2.590

4 years ago

0.2.589

4 years ago

0.2.588

4 years ago

0.2.587

4 years ago

0.2.586

4 years ago

0.2.585

4 years ago

0.2.584

4 years ago

0.2.583

4 years ago

0.2.582

4 years ago

0.2.581

4 years ago

0.2.580

4 years ago

0.2.579

4 years ago

0.2.578

4 years ago

0.2.577

4 years ago

0.2.576

4 years ago

0.2.575

4 years ago

0.2.574

4 years ago

0.2.573

4 years ago

0.2.572

4 years ago

0.2.571

4 years ago

0.2.570

4 years ago

0.2.569

4 years ago

0.2.568

4 years ago

0.2.567

4 years ago

0.2.566

4 years ago

0.2.565

4 years ago

0.2.564

4 years ago

0.2.563

4 years ago

0.2.562

4 years ago

0.2.561

4 years ago

0.2.560

4 years ago

0.2.559

4 years ago

0.2.558

4 years ago

0.2.557

4 years ago

0.2.556

4 years ago

0.2.555

4 years ago

0.2.554

4 years ago

0.2.553

4 years ago

0.2.552

4 years ago

0.2.551

4 years ago

0.2.550

4 years ago

0.2.549

4 years ago

0.2.548

4 years ago

0.2.547

4 years ago

0.2.546

4 years ago

0.2.545

4 years ago

0.2.544

4 years ago

0.2.543

4 years ago

0.2.542

4 years ago

0.2.541

4 years ago

0.2.540

4 years ago

0.2.539

4 years ago

0.2.538

4 years ago

0.2.537

4 years ago

0.2.536

4 years ago

0.2.535

4 years ago

0.2.534

4 years ago

0.2.533

4 years ago

0.2.532

4 years ago

0.2.531

4 years ago

0.2.530

4 years ago

0.2.529

4 years ago

0.2.528

4 years ago

0.2.527

4 years ago

0.2.526

4 years ago

0.2.525

4 years ago

0.2.524

4 years ago

0.2.523

4 years ago

0.2.522

4 years ago

0.2.521

4 years ago

0.2.520

4 years ago

0.2.519

4 years ago

0.2.518

4 years ago

0.2.517

4 years ago

0.2.516

4 years ago

0.2.515

4 years ago

0.2.514

4 years ago

0.2.513

4 years ago

0.2.512

4 years ago

0.2.511

4 years ago

0.2.510

4 years ago

0.2.504

4 years ago

0.2.503

4 years ago

0.2.509

4 years ago

0.2.508

4 years ago

0.2.507

4 years ago

0.2.506

4 years ago

0.2.505

4 years ago

0.2.502

4 years ago

0.2.499

4 years ago

0.2.498

4 years ago

0.2.497

4 years ago

0.2.501

4 years ago

0.2.500

4 years ago

0.2.496

4 years ago

0.2.495

4 years ago

0.2.494

4 years ago

0.2.493

4 years ago

0.2.492

4 years ago

0.2.491

4 years ago

0.2.490

4 years ago

0.2.489

4 years ago

0.2.488

4 years ago

0.2.486

4 years ago

0.2.487

4 years ago

0.2.485

4 years ago

0.2.484

4 years ago

0.2.483

4 years ago

0.2.482

4 years ago

0.2.481

4 years ago

0.2.480

4 years ago

0.2.479

4 years ago

0.2.478

4 years ago

0.2.477

4 years ago

0.2.476

4 years ago

0.2.475

4 years ago

0.2.474

4 years ago

0.2.473

4 years ago

0.2.472

4 years ago

0.2.471

4 years ago

0.2.470

4 years ago

0.2.469

4 years ago

0.2.468

4 years ago

0.2.467

4 years ago

0.2.463

4 years ago

0.2.462

4 years ago

0.2.461

4 years ago

0.2.460

4 years ago

0.2.459

4 years ago

0.2.458

4 years ago

0.2.457

4 years ago

0.2.456

4 years ago

0.2.455

4 years ago

0.2.454

4 years ago

0.2.453

4 years ago

0.2.452

4 years ago

0.2.451

4 years ago

0.2.450

4 years ago

0.2.449

4 years ago

0.2.448

4 years ago

0.2.447

4 years ago

0.2.446

4 years ago

0.2.445

4 years ago

0.2.444

4 years ago

0.2.443

4 years ago

0.2.442

4 years ago

0.2.441

4 years ago

0.2.440

4 years ago

0.2.439

4 years ago

0.2.438

4 years ago

0.2.437

4 years ago

0.2.436

4 years ago

0.2.435

4 years ago

0.2.434

4 years ago

0.2.433

4 years ago

0.2.432

4 years ago

0.2.431

4 years ago

0.2.430

4 years ago

0.2.429

4 years ago

0.2.428

4 years ago

0.2.427

4 years ago

0.2.426

4 years ago

0.2.425

4 years ago

0.2.424

4 years ago

0.2.423

4 years ago

0.2.422

4 years ago

0.2.421

4 years ago

0.2.420

4 years ago

0.2.418

4 years ago

0.2.417

4 years ago

0.2.416

4 years ago

0.2.415

4 years ago

0.2.414

4 years ago

0.2.413

4 years ago

0.2.412

4 years ago

0.2.411

4 years ago

0.2.410

4 years ago

0.2.409

4 years ago

0.2.408

4 years ago

0.2.407

4 years ago

0.2.406

4 years ago

0.2.405

4 years ago

0.2.404

4 years ago

0.2.403

4 years ago

0.2.402

4 years ago

0.2.401

4 years ago

0.2.400

4 years ago

0.2.399

4 years ago

0.2.398

4 years ago

0.2.397

4 years ago

0.2.396

4 years ago

0.2.395

4 years ago

0.2.394

4 years ago

0.2.393

4 years ago

0.2.392

4 years ago

0.2.391

4 years ago

0.2.390

4 years ago

0.2.389

4 years ago

0.2.388

4 years ago

0.2.387

4 years ago

0.2.386

4 years ago

0.2.385

4 years ago

0.2.384

4 years ago

0.2.383

4 years ago

0.2.382

4 years ago

0.2.381

4 years ago

0.2.380

4 years ago

0.2.379

4 years ago

0.2.378

4 years ago

0.2.377

4 years ago

0.2.376

4 years ago

0.2.375

4 years ago

0.2.374

4 years ago

0.2.373

4 years ago

0.2.372

4 years ago

0.2.371

4 years ago

0.2.370

4 years ago

0.2.369

4 years ago

0.2.368

4 years ago

0.2.367

4 years ago

0.2.366

4 years ago

0.2.365

4 years ago

0.2.364

4 years ago

0.2.363

4 years ago

0.2.362

4 years ago

0.2.361

4 years ago

0.2.360

4 years ago

0.2.359

4 years ago

0.2.358

4 years ago

0.2.357

4 years ago

0.2.356

4 years ago

0.2.355

4 years ago

0.2.354

4 years ago

0.2.353

4 years ago

0.2.352

4 years ago

0.2.351

4 years ago

0.2.350

4 years ago

0.2.349

4 years ago

0.2.348

4 years ago

0.2.347

4 years ago

0.2.346

4 years ago

0.2.345

4 years ago

0.2.344

4 years ago

0.2.343

4 years ago

0.2.342

4 years ago

0.2.341

4 years ago

0.2.340

4 years ago

0.2.339

4 years ago

0.2.338

4 years ago

0.2.337

4 years ago

0.2.336

4 years ago

0.2.335

4 years ago

0.2.334

4 years ago

0.2.333

4 years ago

0.2.332

4 years ago

0.2.331

4 years ago

0.2.330

4 years ago

0.2.329

4 years ago

0.2.328

4 years ago

0.2.327

4 years ago

0.2.326

4 years ago

0.2.325

4 years ago

0.2.324

4 years ago

0.2.323

4 years ago

0.2.322

4 years ago

0.2.321

4 years ago

0.2.320

4 years ago

0.2.319

4 years ago

0.2.318

4 years ago

0.2.317

4 years ago

0.2.316

4 years ago

0.2.315

4 years ago

0.2.314

4 years ago

0.2.313

4 years ago

0.2.312

4 years ago

0.2.311

4 years ago

0.2.310

4 years ago

0.2.309

4 years ago

0.2.308

4 years ago

0.2.306

4 years ago

0.2.307

4 years ago

0.2.305

4 years ago

0.2.304

4 years ago

0.2.303

4 years ago

0.2.302

4 years ago

0.2.301

4 years ago

0.2.300

4 years ago

0.2.299

4 years ago

0.2.298

4 years ago

0.2.297

4 years ago

0.2.296

4 years ago

0.2.295

4 years ago

0.2.294

4 years ago

0.2.293

4 years ago

0.2.292

4 years ago

0.2.291

4 years ago

0.2.290

4 years ago

0.2.289

4 years ago

0.2.288

4 years ago

0.2.287

4 years ago

0.2.286

4 years ago

0.2.285

4 years ago

0.2.284

4 years ago

0.2.283

4 years ago

0.2.282

4 years ago

0.2.281

4 years ago

0.2.280

4 years ago

0.2.279

4 years ago

0.2.278

4 years ago

0.2.277

4 years ago

0.2.276

4 years ago

0.2.275

4 years ago

0.2.273

4 years ago

0.2.272

4 years ago

0.2.271

4 years ago

0.2.270

4 years ago

0.2.269

4 years ago

0.2.268

4 years ago

0.2.267

4 years ago

0.2.266

4 years ago

0.2.265

4 years ago

0.2.264

4 years ago

0.2.263

4 years ago

0.2.262

4 years ago

0.2.261

4 years ago

0.2.260

4 years ago

0.2.259

4 years ago

0.2.258

4 years ago

0.2.257

4 years ago

0.2.256

4 years ago

0.2.255

4 years ago

0.2.254

4 years ago

0.2.253

4 years ago

0.2.252

4 years ago

0.2.251

4 years ago

0.2.250

4 years ago

0.2.249

4 years ago

0.2.248

4 years ago

0.2.247

4 years ago

0.2.246

4 years ago

0.2.245

4 years ago

0.2.244

4 years ago

0.2.243

4 years ago

0.2.242

4 years ago

0.2.241

4 years ago

0.2.240

4 years ago

0.2.239

4 years ago

0.2.238

4 years ago

0.2.237

4 years ago

0.2.236

4 years ago

0.2.235

4 years ago

0.2.229

4 years ago

0.2.228

4 years ago

0.2.227

4 years ago

0.2.226

4 years ago

0.2.225

4 years ago

0.2.224

4 years ago

0.2.223

4 years ago

0.2.234

4 years ago

0.2.233

4 years ago

0.2.232

4 years ago

0.2.231

4 years ago

0.2.230

4 years ago

0.2.221

4 years ago

0.2.220

4 years ago

0.2.219

4 years ago

0.2.218

4 years ago

0.2.217

4 years ago

0.2.216

4 years ago

0.2.215

4 years ago

0.2.214

4 years ago

0.2.213

4 years ago

0.2.212

4 years ago

0.2.211

4 years ago

0.2.210

4 years ago

0.2.209

4 years ago

0.2.208

4 years ago

0.2.207

4 years ago

0.2.206

4 years ago

0.2.205

4 years ago

0.2.204

4 years ago

0.2.203

4 years ago

0.2.202

4 years ago

0.2.201

4 years ago

0.2.200

4 years ago

0.2.199

4 years ago

0.2.198

4 years ago

0.2.197

4 years ago

0.2.196

4 years ago

0.2.195

4 years ago

0.2.194

4 years ago

0.2.193

4 years ago

0.2.192

4 years ago

0.2.191

4 years ago

0.2.190

4 years ago

0.2.189

4 years ago

0.2.188

4 years ago

0.2.187

4 years ago

0.2.186

4 years ago

0.2.185

4 years ago

0.2.184

4 years ago

0.2.183

4 years ago

0.2.182

4 years ago

0.2.181

4 years ago

0.2.180

4 years ago

0.2.179

4 years ago

0.2.178

4 years ago

0.2.177

4 years ago

0.2.176

4 years ago

0.2.175

4 years ago

0.2.174

4 years ago

0.2.173

4 years ago

0.2.172

4 years ago

0.2.171

4 years ago

0.2.170

4 years ago

0.2.168

4 years ago

0.2.167

4 years ago