Skip to content

Mahmoudz/Porto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Porto (Software Architectural Pattern)

Welcome to Porto

Every codebase starts clean and ends tangled. Features pile up, boundaries blur, and the quick monolith becomes something nobody wants to touch, while the usual escape, breaking it into microservices, tends to scatter the mess rather than fix it.

Porto is a scalable software architectural pattern that heads this off by organizing your code into self-contained, reusable units from day one. Business logic lives in Containers; infrastructure lives in the Ship layer. The structure stays the same whether you run a single monolith or a fleet of microservices, so you scale by moving containers around, not by rewriting. Those same single-responsibility boundaries that keep humans oriented also make the codebase easy for AI tools to navigate and contribute to.

Porto now ships in two editions that share one philosophy. Pick based on who writes the code:

  • Porto SAP is for code that people read, review, and extend by hand, with AI assisting. Built for high-trust, security-critical systems. Read the docs at porto.zalt.me/docs/Intro.

  • Porto AI (private testing) is for codebases written and maintained primarily by autonomous AI agents: fewer files, fewer tokens, faster autonomous delivery. Read the docs at porto.zalt.me/ai/Intro.

"Simplicity is the ultimate sophistication." - Leonardo da Vinci




Porto SAP Documentation




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

author image
Mahmoud Zalt
GitHub: Mahmoudz
Twitter: @mahmoudz
LinkedIn: mahmoudzalt
Portfolio: zalt.me

Support

I appreciate your support. Github Sponsor.

About

A software architectural pattern that provides a comprehensive set of guidelines, principles, and patterns to organize code for high scalability, maintainability and reusability.

Topics

Resources

License

Stars

1.6k stars

Watchers

80 watching

Forks

Sponsor this project

 

Contributors