This is a collection of useful resources that taught me somethign or that I find very useful and good. Also, kind of a noteblock for myself.
- draw.io - Open Source Diagram Tool.
- Archi - The Open Source modelling toolkit for creating ArchiMate models and sketches
- Arc42 - All you ever need to construct, communicate and document your software architecture.
- iSAQB - The International Software Architecture Qualification Board (iSAQB®) brings together professional software architecture experts from industry, consulting, training, academia, and other organizations.
- TOGAF - The Open Group Architecture Framework
- BPMN, DMN and Form Builder - Web-based tooling for BPMN, DMN and Forms.
- Egon - A Domain Story Modeler.
- RESTful Objects Specification - Restful Objects is a standard covering RESTful interfaces to domain object models.
- Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans.
- Implementing Domain-Driven Design by Vernon Vaughn.
- Domain-Driven Design Distilled - Read this before the former two, but it won't replace them!
- Patterns of Enterprise Application Architecture by Martin Fowler.
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin
- Mastering Non-Functional Requirements: Templates and tactics for analysis, architecture and assessment by Sameer Paradkar.
- Design Patterns. Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides.
- Team Topologies by Matthew Skelton & Manuel Pais.
- Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems by Steve Krug.
- Humane Interface, The: New Directions for Designing Interactive Systems by Jef Raskin.
- The Five Dysfunctions of a Team by Patrick Lencioni is a book about team building and team work.
- How to Lead Smart People: Leadership for Professionals
- The clean code blog by Robert C. Martin
- Refactoring Guru - A nice list of patterns and refactoring techniques.
- Microservice Architecture - by Chris Richardson - Everything about Microservices & Distributed Systems
- Eventmodeling.org - Event Modeling is a method of describing systems using an example of how information has changed within them over time.
- Connascence.io - Connascence is a software quality metric & a taxonomy for different types of coupling.
- Impactmapping.org - Impact maps show assumptions and a connection between business goals, impacts on users and stakeholders, and team deliverables.
- Wardley Mapping
- Event Storming - Offical Event Storming Website by Alberto Brandolini.
- Reddits PHP Section - Reddits PHP section.
- InfoQ
- Dzone
- 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 Law - Conway's law is an adage linking the communication structure of organizations to the systems they design.
- Goodharts Law - Its basically saying that a metric becomes bad one if one just aims for fulfilling the numbers without respect to quality.
- KanDDDisnky Conference Talks
- NDC Conference Talks
- DDD Europe Conference Talks
- GOTO Conferences
- Explore DDD Conference
- Tech Excellence
- Eberhard Wolf Software Architecture Topics by Eberhard Wolf (in German)
- Code Opinion - Software Architecture Architecture and c#, by Derek Comartin
- Continious Delivery CI/CD focused, by Dave Farley
- MilanJovanovicTech Architecture basics & c#, by Milan Jovanovic.
- Alberto Brandolini @ziobrando
- Amichai Mantinband @amantinband
- Daniel Bryant @danielbryantuk
- Dan Patrascu @danpdc
- Derek Comartin @codeopinion
- Explore DDD Conference. @exploreddd
- Eduardo da Silva @emgsilva
- Eric Evans @ericevans0
- EventModeling @EventModeling
- Frank de Jonge @frankdejonge
- Greg Young @gregyoung
- KanDDDinsky Conference @KanDDDinsky
- Kevlin Henney @KevlinHenney
- Manuel Pais @manupaisable
- Martin Fowler @martinfowler
- Matthias Noback @matthiasnoback
- Michael Plöd @bitboss
- Ross Tuck @rosstuck
- Uncle Bob Martin @unclebobmartin
- Vaughn Vernon @VaughnVernon
- Virtual Domain Driven Design @virtualDDD
The criterias for selecting a Library:
- Generic criteria:
- SHOULD NOT have additional dependencies, the fewer the better.
- MUST do just one thing and do it right instead of many (SRP).
- MUST have tests.
- PHP specific Criteria:
- SHOULD follow PSR2 and PSR12.
- SHOULD follow PSR in general.
- SHOULD support the most recent PHP version.
- Prooph Event Store - Prooph Event Story Library
- Nyholm PSR7 Server - PSR7 Server Library
- Ramsey UUID - UUID Library
- Beberlei Assert - Assertion Library
- Webmozar Assert - Assertion Library
- JSON API
- Automapper - PHP version of the c# Automapper library, an object mapper.
- AutoShell - A shell without further dependencies. I/O not included (use something like CLImate).
- API Platform - A Symfony based API framework / boilerplate.
- CI/CD
- phive - The Phar Installation and Verification Environment (PHIVE)
- gh-ci - Github for the CLI
- grumphp - Pre-Commit Checks using different tools
- nektos/act - Run Github Workflows locally
- Testing
- phpunit - Unit testing
- Debugging
- kint - Debuggin Utility with zero dependenices
- Architecture:
- phpstan - Static Analyzer
- composer-dependency-analyser - Detects unused, shadow and misplaced composer dependencies.
- phpcs / phpcbf - Code Sniffer and Auto-Fixer
- PHPArkitect - Hou to keep your PHP codebase coherent and solid, by permitting to add some architectural constraint check to your workflow.
- phpat - PHP Architecture Tester
- FrankenPHP - A PHP server written in GO.
- Roadrunner - A PHP Server written in Go.
The framework listed here are explicitly not the well known big ones.
- Spiral - Elegant high-performance framework + Roadrunner.
- Hyperf - Co-routine based framwork (requires Swoole) that also features AOP (optionally).
- Goaop - An aspect-Oriented Framework for PHP that doesn't require any PECL-extentions.
- Spring Boot - The Spring Boot Framework.
- OSGi - The Dynamic Module System for Java.
- Spring Academy - A very good learning resource, free and paid content.
- Baldung - Free and paid learning resources.
- SDK Man - The Software Development Kit Manager (Linux or WSL2 only, requires Bash).
- pgAdmin - Posgres Admin Tool.
- Scoop - Command line package manager.
- Chocolaty - Package manager.
- Windows Terminal - Windows Terminal.
- Procmon - Advanced Process Monitor.
- Flameshot - For Screenshots.