Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

Awesome Libraries, Websites, Books, People, Videos - everything I found useful!
https://github.com/floriankraemer/awesome-resources

List: awesome-resources

Last synced: 8 days ago
JSON representation

Awesome Libraries, Websites, Books, People, Videos - everything I found useful!

Awesome Lists containing this project

README

        

# Development & Software Architecture Resources

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.

## Architecture

* [draw.io](https://www.drawio.com/) - Open Source Diagram Tool.
* [Archi](https://www.archimatetool.com/) - The Open Source modelling toolkit for creating ArchiMate models and sketches
* [Arc42](https://arc42.org/) - All you ever need to construct, communicate and document your software architecture.
* [iSAQB](https://www.isaqb.org/) - The International Software Architecture Qualification Board (iSAQB®) brings together professional software architecture experts from industry, consulting, training, academia, and other organizations.
* [TOGAF](https://www.opengroup.org/togaf) - The Open Group Architecture Framework
* [BPMN, DMN and Form Builder](https://bpmn.io/) - Web-based tooling for BPMN, DMN and Forms.
* [Egon](https://github.com/WPS/egon.io) - A Domain Story Modeler.
* [Online Version](https://egon.io/app/)
* [RESTful Objects Specification](https://www.restfulobjects.org/spec/1.0/section-a/chapter-01.html) - Restful Objects is a standard covering RESTful interfaces to domain object models.

## 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.
* [Domain-Driven Design Distilled](https://www.amazon.de/-/en/Vaughn-Vernon/dp/0134434420) - Read this before the former two, but it won't replace them!
* [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.

### UX

* [Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems](https://www.amazon.de/-/en/Steve-Krug/dp/0321657292) by Steve Krug.
* [Humane Interface, The: New Directions for Designing Interactive Systems](https://www.oreilly.com/library/view/humane-interface-the/0201379376/) by Jef Raskin.

### 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.
* [Impactmapping.org](https://www.impactmapping.org/) - Impact maps show assumptions and a connection between business goals, impacts on users and stakeholders, and team deliverables.
* [Wardley Mapping](https://learnwardleymapping.com/)
* [Event Storming](https://www.eventstorming.com/) - Offical Event Storming Website by Alberto Brandolini.

### Conference Websites

* [Explore DDD](https://exploreddd.com/)
* [DDD Europe](https://dddeurope.com/)

### News

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

## Companies practicing and promoting DDD & good software architecture

* [https://maibornwolff.de/](https://maibornwolff.de/)
* [https://innoq.com/](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 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.
* [Goodharts Law](https://en.wikipedia.org/wiki/Goodhart%27s_law) - Its basically saying that a metric becomes bad one if one just aims for fulfilling the numbers without respect to quality.

## 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)
* [GOTO Conferences](https://www.youtube.com/@GOTO-)
* [Explore DDD Conference](https://www.youtube.com/@ExploreDDD)
* [Tech Excellence](https://www.youtube.com/@TechExcellence)

### People

* [Eberhard Wolf](https://www.youtube.com/@EberhardWolff) Software Architecture Topics by Eberhard Wolf (in German)
* [Code Opinion - Software Architecture](https://www.youtube.com/@CodeOpinion) Architecture and c#, by [Derek Comartin](https://codeopinion.com/)
* [Continious Delivery](https://www.youtube.com/@ContinuousDelivery) CI/CD focused, by [Dave Farley](https://www.davefarley.net/)
* [MilanJovanovicTech](https://www.youtube.com/@MilanJovanovicTech) Architecture basics & c#, by Milan Jovanovic.

### Other

* [Clean Coders](https://www.youtube.com/@Cleancoders)

## People to follow on Twitter / X

* Alberto Brandolini [@ziobrando](https://twitter.com/ziobrando)
* Amichai Mantinband [@amantinband](https://twitter.com/amantinband)
* Daniel Bryant [@danielbryantuk](https://twitter.com/danielbryantuk)
* Dan Patrascu [@danpdc](https://twitter.com/danpdc)
* Derek Comartin [@codeopinion](https://twitter.com/codeopinion)
* Explore DDD Conference. [@exploreddd](https://twitter.com/exploreddd)
* Eduardo da Silva [@emgsilva](https://twitter.com/emgsilva)
* Eric Evans [@ericevans0](https://twitter.com/ericevans0)
* EventModeling [@EventModeling](https://twitter.com/EventModeling)
* Frank de Jonge [@frankdejonge](https://twitter.com/frankdejonge)
* Greg Young [@gregyoung](https://twitter.com/gregyoung)
* KanDDDinsky Conference [@KanDDDinsky](https://twitter.com/KanDDDinsky)
* Kevlin Henney [@KevlinHenney](https://twitter.com/KevlinHenney)
* Manuel Pais [@manupaisable](https://twitter.com/manupaisable)
* Martin Fowler [@martinfowler](https://twitter.com/martinfowler)
* Matthias Noback [@matthiasnoback](https://twitter.com/matthiasnoback)
* Michael Plöd [@bitboss](https://twitter.com/bitboss)
* Ross Tuck [@rosstuck](https://twitter.com/rosstuck)
* Uncle Bob Martin [@unclebobmartin](https://twitter.com/unclebobmartin)
* Vaughn Vernon [@VaughnVernon](https://twitter.com/VaughnVernon)
* Virtual Domain Driven Design [@virtualDDD](https://x.com/virtualDDD)

## PHP

### PHP Libraries

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](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).
* [API Platform](https://api-platform.com/) - A Symfony based API framework / boilerplate.

### PHP Dev Tools

* CI/CD
* [phive](https://github.com/phar-io/phive) - The Phar Installation and Verification Environment (PHIVE)
* [gh-ci](https://cli.github.com/) - Github for the CLI
* [grumphp](https://github.com/phpro/grumphp) - Pre-Commit Checks using different tools
* [nektos/act](https://github.com/nektos/act) - Run Github Workflows locally
* Testing
* [phpunit](https://github.com/sebastianbergmann/phpunit) - Unit testing
* Debugging
* [kint](https://github.com/kint-php/kint) - Debuggin Utility with zero dependenices
* Architecture:
* [phpstan](https://github.com/phpstan/phpstan) - Static Analyzer
* [composer-dependency-analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser) - Detects unused, shadow and misplaced composer dependencies.
* [phpcs / phpcbf](https://github.com/squizlabs/PHP_CodeSniffer) - Code Sniffer and Auto-Fixer
* [PHPArkitect](https://github.com/phparkitect/arkitect) - Hou to keep your PHP codebase coherent and solid, by permitting to add some architectural constraint check to your workflow.
* [phpat](https://github.com/carlosas/phpat) - PHP Architecture Tester

### 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.

### Uncommon PHP 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).
* [Goaop](https://github.com/goaop/framework) - An aspect-Oriented Framework for PHP that doesn't require any PECL-extentions.

## Java

### Frameworks

* [Spring Boot](https://spring.io/) - The Spring Boot Framework.
* [OSGi](https://www.osgi.org/) - The Dynamic Module System for Java.

### Websites

* [Spring Academy](https://spring.academy) - A very good learning resource, free and paid content.
* [Baldung](https://www.baeldung.com/) - Free and paid learning resources.

### Tools

* [SDK Man](https://sdkman.io/) - The Software Development Kit Manager (Linux or WSL2 only, requires Bash).
* [pgAdmin](https://www.pgadmin.org/) - Posgres Admin Tool.

## Windows Tools

* [Scoop](https://scoop.sh/) - Command line package manager.
* [Chocolaty](https://chocolatey.org/) - Package manager.
* [Windows Terminal](https://github.com/microsoft/terminal) - Windows Terminal.
* [Procmon](https://learn.microsoft.com/en-us/sysinternals/downloads/procmon) - Advanced Process Monitor.

## Cross OS Tools

* [Flameshot](https://github.com/flameshot-org/flameshot) - For Screenshots.