Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Phauthentic/awesome-resources

Our selection of libraries we like because of simplicity SRP and no or few dependencies.
https://github.com/Phauthentic/awesome-resources

List: awesome-resources

Last synced: 16 days ago
JSON representation

Our selection of libraries we like because of simplicity SRP and no or few dependencies.

Awesome Lists containing this project

README

        

# Awesome Development & Software Architecture Links

## Libraries

### The Criteria for selecting a Library

* **SHOULD NOT** have additional dependencies, the fewer the better.
* **MUST** do just one thing and do it right instead of many (SRP).
* **SHOULD** support the most recent PHP version.
* **MUST** have tests.
* **SHOULD** follow PSR2 and PSR12.
* **SHOULD** follow PSR in general.

### Libraries

* [Prooph Event Store](https://github.com/prooph/event-store) - Prooph Event Story Library
* [Nyholm PSR7 Server](https://github.com/Nyholm/psr7-server) - PSR7 Server Library
* [Ramsey UUID](https://github.com/ramsey/uuid) - UUID Library
* [Beberlei Assert](https://github.com/beberlei/assert) - Assertion Library
* [Webmozar Assert](https://github.com/webmozarts/assert) - Assertion Library
* [JSON API](https://github.com/json-api-php/json-api)
* [Automapper](https://github.com/janephp/automapper) - PHP version of the c# Automapper library, an object mapper.
* [AutoShell](https://github.com/pmjones/AutoShell) - A shell without further dependencies. I/O not included (use something like CLImate).

## Dev Tools

* [phpunit](https://github.com/sebastianbergmann/phpunit) - Unit testing
* [Infection](https://infection.github.io/) - PHP Mutation Testing Framework
* [phpcs / phpcbf](https://github.com/squizlabs/PHP_CodeSniffer) - Code Sniffer and Auto-Fixe
* [grumphp](https://github.com/phpro/grumphp) - Pre-Commit Checks using different tools
* [phpstan](https://github.com/phpstan/phpstan) - Static Analyzer
* [phive](https://github.com/phar-io/phive) - The Phar Installation and Verification Environment (PHIVE)
* [gh-ci](https://cli.github.com/) - Github for the CLI
* [kint](https://github.com/kint-php/kint) - Debuggin Utility with zero dependenices

## Youtube

### Conference Talks
* [KanDDDisnky Conference Talks](https://www.youtube.com/@KanDDDinsky)
* [NDC Conference Talks](https://www.youtube.com/@ndc)
* [DDD Europe Conference Talks](https://www.youtube.com/@ddd_eu)

### People
* [Code Opinion - Software Architecture](https://www.youtube.com/@CodeOpinion) by [Derek Comartin](https://codeopinion.com/)
* [Continious Delivery](https://www.youtube.com/@ContinuousDelivery) by [Dave Farley](https://www.davefarley.net/)
* [MilanJovanovicTech - Architecture Basics & c#](https://www.youtube.com/@MilanJovanovicTech)

## Books

### Architecture

* [Domain-Driven Design: Tackling Complexity in the Heart of Software](https://www.amazon.de/-/en/Evans-Eric-ebook/dp/B00794TAUG) by Eric Evans.
* [Implementing Domain-Driven Design](https://www.amazon.de/dp/B00BCLEBN8) by Vernon Vaughn.
* [Patterns of Enterprise Application Architecture](https://www.amazon.de/dp/B008OHVDFM) by Martin Fowler.
* [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.amazon.de/-/en/Robert-Martin/dp/0132350882) by Robert Martin
* [Mastering Non-Functional Requirements: Templates and tactics for analysis, architecture and assessment](https://www.amazon.de/-/en/Sameer-Paradkar/dp/178829923X) by Sameer Paradkar.
* [Design Patterns. Elements of Reusable Object-Oriented Software](https://www.amazon.de/-/en/Erich-Gamma/dp/0201633612) by Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides.
* [Team Topologies](https://www.amazon.de/-/en/Team-Topologies-Organizing-Business-Technology/dp/1942788819) by Matthew Skelton & Manuel Pais.

### Leadership

* [The Five Dysfunctions of a Team](https://www.amazon.de/dp/0787960756) by Patrick Lencioni is a book about team building and team work.
* [How to Lead Smart People: Leadership for Professionals](https://www.amazon.de/-/en/Mike-Mister-ebook/dp/B07CTRRPRJ)

## Websites

* [The clean code blog by Robert C. Martin](https://blog.cleancoder.com/)
* [Refactoring Guru](https://refactoring.guru/) - A nice list of patterns and refactoring techniques.
* [Microservice Architecture - by Chris Richardson](https://microservices.io/) - Everything about Microservices & Distributed Systems
* [Eventmodeling.org](https://eventmodeling.org/) - Event Modeling is a method of describing systems using an example of how information has changed within them over time.
* [Connascence.io](https://connascence.io/strength.html) - Connascence is a software quality metric & a taxonomy for different types of coupling.

### News

* [Reddits PHP Section](https://www.reddit.com/r/PHP/) - Reddits PHP section.
* [InfoQ](https://www.infoq.com/)
* [Dzone](https://dzone.com/)

## Frameworks

The framework listed here are explicitly not the well known big ones.

* [Spiral](https://spiral.dev/) - Elegant high-performance framework + Roadrunner
* [Hyperf](https://github.com/hyperf/hyperf) - Co-routine based framwork (requires Swoole) that also features AOP (optionally)

## Alternative PHP Servers

* [FrankenPHP](https://frankenphp.dev/) - A PHP server written in GO.
* [Roadrunner](https://github.com/roadrunner-server/roadrunner) - A PHP Server written in Go.

## Companies practicing and promoting DDD & good software architecture

* https://maibornwolff.de/
* https://innoq.com/

## Misc

* [Lindy Effect](https://en.wikipedia.org/wiki/Lindy_effect) - The Lindy effect (also known as Lindy's Law[1]) is a theorized phenomenon by which the future life expectancy of some non-perishable things, like a technology or an idea, is proportional to their current age.
* [Conways's Law](https://en.wikipedia.org/wiki/Conway%27s_law) - Conway's law is an adage linking the communication structure of organizations to the systems they design.