13 Repos
Exercises for practicing design, testing, and refactoring skills.
Explore 13 awesome GitHub repositories matching part of an awesome list · Code Katas. Refine with filters or upvote what's useful.
This project is a .NET Clean Architecture template designed to separate domain logic from infrastructure and web frameworks. It provides a project structure for C# applications and a React Redux frontend, creating a testable backend focused on maintainability. The implementation centers on Domain Driven Design, modeling core business domains using entities and value objects to manage complex requirements. It utilizes a decoupled architecture to ensure that business logic remains independent of external frameworks and database technologies. The project covers full stack application bootstrapp
Visual guide to implementing clean architecture patterns.
This project is a refactoring kata collection and software design education resource. It provides a set of intentionally messy codebases and multi-language code samples designed for practicing incremental design, legacy code modernization, and software restructuring. The collection serves as a training material for test-driven development, focusing on the use of golden master testing suites and approval testing to ensure functional parity while evolving source code. It includes a universal learning baseline by implementing identical complex business rules across several different programming
Collections of intentionally messy codebases used as exercises for practicing design, testing, and refactoring.
This is a Refactoring Kata based on the rules of Tennis
Improve existing code by identifying and removing code smells.
Several code katas on a racing car theme
Practice identifying and fixing SOLID principle violations.
A Refactoring Golf exercise
Master IDE shortcuts and automation for efficient refactoring.
Salary slip kata
Implement business logic using clean design and testing.
Practice advanced design patterns including CQRS and event sourcing.
Practice architectural separation of concerns and testability.
Hands-on practice for working with complex legacy codebases.
Apply dependency-breaking techniques to untestable legacy code.
Opening hours don't have to be so boring - A TDD & Refactoring Kata
Apply design and testing skills in a new language.