Welcome to the Architectural Blueprints repository! This project is an educational resource designed to provide practical, hands-on examples of essential software architecture concepts. Whether you want to dive into the core SOLID principles, explore the world of design patterns through creational, structural, and behavioral examples, or learn about microservices architecture via a real-world project, this repository has you covered.
Table of Contents
This repository is a comprehensive guide for software architecture enthusiasts. It serves as a practical blueprint by offering real-world examples to help you understand and implement:
- SOLID Principles – Simple, practical examples that illustrate each of the five SOLID principles.
- Design Patterns – Hands-on demonstrations covering common design patterns:
- Creational Patterns (e.g., Singleton, Factory)
- Structural Patterns (e.g., Facade, Decorator)
- Behavioral Patterns (e.g., Observer, Strategy)
- Microservices Architecture – An example project built with a component-based design that leverages multiple backends (using different technologies), integrated with a Eureka server and an API Gateway in Spring Boot.
Each topic is organized into its dedicated branch, making it easy to focus on the area you need.
-
practical/SOLID
Contains clear, beginner-friendly examples that demonstrate the application of SOLID principles in software design. -
practical/DesignPatterns
Features practical examples of design patterns categorized into:- Creational Patterns (e.g., Singleton, Factory)
- Structural Patterns (e.g., Facade, Decorator)
- Behavioral Patterns (e.g., Observer, Strategy)
-
practical/MicroserviceProject
Offers a sample microservices project that demonstrates a component-based architecture using several backends built with different technologies. This project integrates a Eureka server and an API Gateway in Spring Boot, providing a clear idea of modern microservices architecture.
- Overview:
Dive into practical examples that illustrate the Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion principles. - Accessing the Examples:
Clone the SOLID branch with the following command:git clone -b practical/SOLID --single-branch https://github.com/gayanukabulegoda/Architectural-Blueprints.git
- Overview:
Explore hands-on implementations of common design patterns used in modern software development. The examples are organized into creational, structural, and behavioral categories. - Accessing the Examples:
Clone the Design Patterns branch with the following command:git clone -b practical/DesignPatterns --single-branch https://github.com/gayanukabulegoda/Architectural-Blueprints.git
- Overview:
Explore a sample microservices project demonstrating a component-based architecture that utilizes multiple backends with different technologies. This project leverages a Eureka server and an API Gateway implemented in Spring Boot. - Accessing the Example:
Clone the MicroserviceProject branch with the following command:git clone -b practical/MicroserviceProject --single-branch https://github.com/gayanukabulegoda/Architectural-Blueprints.git
- Postman Collection:
Test and interact with the microservices using the provided Postman request collection available here.
For additional reference and deeper insights, please review the updated Handwritten Note available here.
- Clone the Repository:
Choose the branch that fits your interest:- For SOLID principles:
git clone -b practical/SOLID --single-branch https://github.com/gayanukabulegoda/Architectural-Blueprints.git
- For Design Patterns:
git clone -b practical/DesignPatterns --single-branch https://github.com/gayanukabulegoda/Architectural-Blueprints.git
- For the Microservices Project:
git clone -b practical/MicroserviceProject --single-branch https://github.com/gayanukabulegoda/Architectural-Blueprints.git
- For SOLID principles:
- Explore the Code:
Open the project in your preferred IDE or text editor to review the examples and accompanying documentation. - Run and Experiment:
Follow the instructions provided in each branch’s README or source files to run the examples, experiment with the code, and integrate the concepts into your own projects. - Prerequisites:
This project includes Java-based example implementations. Ensure you have the JDK (JDK 17) installed on your system.
This project is licensed under the MIT License.
© 2025 Gayanuka Bulegoda
