Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mahmoudz/porto
Porto is a Modern Software Architectural Pattern that scales with your business!
https://github.com/mahmoudz/porto
architectural-patterns architecture backend backend-architecture backend-architecture-patterns porto porto-sap portosap software-architecture webdevelopment
Last synced: about 2 months ago
JSON representation
Porto is a Modern Software Architectural Pattern that scales with your business!
- Host: GitHub
- URL: https://github.com/mahmoudz/porto
- Owner: Mahmoudz
- License: mit
- Created: 2016-02-29T04:31:00.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T16:37:32.000Z (8 months ago)
- Last Synced: 2024-05-22T17:39:29.923Z (8 months ago)
- Topics: architectural-patterns, architecture, backend, backend-architecture, backend-architecture-patterns, porto, porto-sap, portosap, software-architecture, webdevelopment
- Homepage: http://mahmoudz.github.io/Porto/
- Size: 70.6 MB
- Stars: 1,584
- Watchers: 87
- Forks: 186
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Porto (Software Architectural Pattern)
## Welcome to Porto
**Porto** is a modern software architectural pattern that provides a comprehensive set of guidelines, principles, and patterns to organize code for high maintainability and reusability. Its primary aim is to facilitate the development of scalable software, enabling developers to start with a clean monolith and easily transition to microservices. Furthermore, Porto's strict adherence to the single responsibility principle enhances its compatibility with AI tools like GitHub Copilot, which thrive on clear, well-defined classes.
> "Simplicity is the ultimate sophistication." - Leonardo da Vinci
---
### Clear Layers
App code is divided into **Containers** and **Ship** layers. Containers encapsulate the business logic, while Ship handles all infrastructure-related code, enabling easy scaling on demand by transitioning from monolithic to microservices.
---
### Clean Components
Business logic in **Containers** is organized into **Actions** and **Tasks**. Actions initiate sequences of Tasks, each with one public function `run()` for a single responsibility, thereby enhancing maintainability and enabling code reusability.
---
## Author
Mahmoud Zalt
GitHub: Mahmoudz
Twitter: @mahmoudz
LinkedIn: mahmoudzalt
Portfolio: zalt.me
## Donations
I appreciate your support. [Github Sponsor](https://github.com/sponsors/Mahmoudz).