All Projects → peasy → Peasy Js

peasy / Peasy Js

Licence: mit
A business logic micro-framework for javascript

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Peasy Js

Eslint Plugin Boundaries
Eslint plugin checking architecture boundaries between elements
Stars: ✭ 157 (+29.75%)
Mutual labels:  architecture, architectural-patterns
bian
The Banking Industry Architecture Network e.V. (BIAN) model in Archimate 3
Stars: ✭ 48 (-60.33%)
Mutual labels:  architecture, architectural-patterns
Enhanced Rails Architecture
A set of good architectural patterns beyond the pure Ruby on Rails architecture.
Stars: ✭ 185 (+52.89%)
Mutual labels:  architecture, architectural-patterns
Domain Driven Hexagon
Guide on Domain-Driven Design, software architecture, design patterns, best practices etc.
Stars: ✭ 4,417 (+3550.41%)
Mutual labels:  architecture, architectural-patterns
Ribs
Uber's cross-platform mobile architecture framework.
Stars: ✭ 6,641 (+5388.43%)
Mutual labels:  architecture, architectural-patterns
Quiz App
A repository reflecting the progress made on the "How to Build iOS Apps with Swift, TDD & Clean Architecture" YouTube series, by Caio & Mike.
Stars: ✭ 230 (+90.08%)
Mutual labels:  architecture, architectural-patterns
Peasy.NET-Samples
Showcases a middle tier built with peasy and consumed by multiple client consumers
Stars: ✭ 33 (-72.73%)
Mutual labels:  architecture, architectural-patterns
archunit-junit5-kotlin
Generic Architecture Tests written in Kotlin using ArchUnit and Junit5
Stars: ✭ 22 (-81.82%)
Mutual labels:  architecture, architectural-patterns
Swiftui Architectures
Three different architectures (Model-View, Redux, MVVM) for using SwiftUI implemented at the example of a chat app
Stars: ✭ 413 (+241.32%)
Mutual labels:  architecture, architectural-patterns
Peasy.net
A business logic micro-framework for .NET and .NET Core
Stars: ✭ 406 (+235.54%)
Mutual labels:  architecture, architectural-patterns
Super Simple Architecture
🧩 Super Simple Architecture in Swift
Stars: ✭ 44 (-63.64%)
Mutual labels:  architecture, architectural-patterns
Mvpart
🎨 A new Android MVP architecture (此框架旨在解决传统 MVP 类和接口太多, 并且 Presenter 和 View 通过接口通信过于繁琐, 重用 Presenter 代价太大等问题).
Stars: ✭ 776 (+541.32%)
Mutual labels:  architecture, architectural-patterns
Porto
Porto is a Modern Software Architectural Pattern that scales with your business!
Stars: ✭ 1,106 (+814.05%)
Mutual labels:  architecture, architectural-patterns
Programming Principles
Categorized overview of programming principles & design patterns
Stars: ✭ 1,735 (+1333.88%)
Mutual labels:  architectural-patterns
Android Readthefuckingsourcecode
😜 记录日常的开发技巧,开发中遇到的技术重点、难点,各个知识点的总结,优质面试题等等。持续更新...
Stars: ✭ 1,665 (+1276.03%)
Mutual labels:  architecture
Microservices Architecture
《微服务架构设计》
Stars: ✭ 113 (-6.61%)
Mutual labels:  architecture
Xaml Code Experiences
A collection of the experiences I have collected during days of Xamarin and Wpf, while following the MVVM design pattern.
Stars: ✭ 114 (-5.79%)
Mutual labels:  architecture
Ios Design Patterns
Learning ground for iOS Design Pattern included with sample projects for MVC, MVP, MVVM, and VIPER
Stars: ✭ 120 (-0.83%)
Mutual labels:  architecture
Fanray
A blog built with ASP.NET Core
Stars: ✭ 117 (-3.31%)
Mutual labels:  architecture
Space App
An Android app which shows timeline of upcoming rocket launches and showcases architecture of real application.
Stars: ✭ 114 (-5.79%)
Mutual labels:  architecture

peasy-js

A business logic micro-framework for javascript

Write your business logic once and consume from everywhere!

What's a business logic micro-framework?

A business logic framework is code that facilitates creating business logic in a consistent, predictable, reusable, extensible, maintainable, scalable, and testable manner. It promotes creating business logic that is completely decoupled from its consuming technologies and helps to ensure that separation of concerns (SoC) are adhered to.

Why peasy-js?

Because the javascript ecosystem changes at a pace much more rapid than your business logic. UI frameworks change: Backbone one day, Angular the next day, React the following... Backend frameworks change: Express one day, Koa the next day, Hapi the next... Data frameworks and ORMS change...

Why couple your code with technologies that are hot today and gone tomorrow? Why not focus on your business logic and abstract out everything else into truly reusable code that can be consumed by javascript in the browser, backend, or both, and by any UI or backend framework?

peasy-js makes it trivial to whimsically swap out UI, backend, and data frameworks in your applications by creating your business logic in a composable, reusable, scalable, and testable manner.

peasy-js offers/addresses the following:

Where can I get it?

  • Download the latest release
  • Clone the repo: git clone https://github.com/peasy/peasy-js.git
  • Install with npm: npm install peasy-js
  • Install with yarn: yarn add peasy-js

You can also download and add the peasy.js file to your project and reference it accordingly.

Getting started

You can get started by reviewing the walk throughs below.

  • Run it in a client (browser)

  • Run it on a server (Node.js)

  • Run it with TypeScript (Node.js)

  • Sample application: This sample application is an order entry / inventory management system written with peasy-js, react, angular (with TypeScript), mongoDB, nodejs, and express.

  • An additional sample can be viewed using promises or using callbacks that showcases creating a business service, custom command, business rules, and wiring them up. The sample also showcases how to consume the service. To see it in action, run one or both from a command line:

    • node src/sampleWithPromises.js
    • node src/sampleWithCallbacks.js

The main actors

Business Service

A business service implementation represents an entity (e.g. users, or projects) and is responsible for exposing business functionality via commands. These commands encapsulate CRUD and other business related logic.

Command

The command is responsible for orchestrating the execution of initialization logic, business and validation rule execution, and other logic (data proxy invocations, workflow logic, etc.), respectively, via the command execution pipeline.

Rule

A rule can be created to represent a business rule (authorization, price validity, etc.) or a validation rule (field length, required, etc.). Rules are consumed by commands and can be chained, configured to execute based on a previous rule’s execution, etc. Rules can also be configured to invoke code based on the result of their execution.

Data Proxy

The data proxy is responsible for data storage and retrieval, and serves as an abstraction layer for data stores (database, web services, cache, etc.).

peasy-js actors at work

What's new in version 2.0?

You can see all changes introduced with peasy-js 2.0 here.

Contributing

All contributions are welcome, from general framework improvements to sample client consumers, proxy implementations, and documentation updates. Want to get involved? Please hit us up with your ideas. Alternatively, you can make a pull request and we'll get to it ASAP.

Like what you see?

Please consider showing your support by starring the project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].