Skip to content

gayanukabulegoda/Architectural-Blueprints

Repository files navigation

Architectural Blueprints

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
  1. Architectural Blueprints
  2. Branches and Content
  3. Practical Examples
  4. Note
  5. Usage
  6. License

Architectural Blueprints

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.

Branches and Content

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

Practical Examples

SOLID Principles

  • 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

Design Patterns

  • 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

Microservices Architecture Example

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

Note

For additional reference and deeper insights, please review the updated Handwritten Note available here.

Usage

  1. 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
  2. Explore the Code:
    Open the project in your preferred IDE or text editor to review the examples and accompanying documentation.
  3. 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.
  4. Prerequisites:
    This project includes Java-based example implementations. Ensure you have the JDK (JDK 17) installed on your system.

License

This project is licensed under the MIT License.


GitHub Git JDK 21 SpringBoot Node.js Express.js Flask

© 2025 Gayanuka Bulegoda

About

An educational resource dedicated to Software Architectures and Design Patterns. It compiles a rich collection of practical examples and case studies illustrating key design principles and patterns. Each branch within the repository is organized to focus on a specific design principle or pattern.

Topics

Resources

License

Stars

Watchers

Forks

Contributors