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

https://github.com/star-3gg/derek-banas-software-architecture

design patterns workout in multiple languages
https://github.com/star-3gg/derek-banas-software-architecture

cpp design-patterns docker gtest learning prebuilt-binaries

Last synced: 8 months ago
JSON representation

design patterns workout in multiple languages

Awesome Lists containing this project

README

          

[![CMake on multiple platforms](https://github.com/star-3gg/derek-banas-software-architecture/actions/workflows/cmake-multi-platform.yml/badge.svg)](https://github.com/star-3gg/derek-banas-software-architecture/actions/workflows/cmake-multi-platform.yml)

# ๐Ÿงฉ Design Patterns 2024 ๐Ÿงฉ
Welcome to the Design Patterns workout in multiple languages! ๐Ÿ‹๏ธโ€โ™‚๏ธ Inspired by the awesome Derek Banas. Check out his videos on [software design patterns](https://www.youtube.com/watch?v=vNHpsC5ng_E&list=PL36enNxU148T1LqbycaineNGt6HUy2dXD&index=2).

## ๐Ÿ”ฎ Futuristic and Minimal Stack
This project uses a powerful and minimal stack, allowing for speed and flexibility.

![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white) ![GitHub Actions](https://img.shields.io/badge/GitHub_Actions-2088FF?style=for-the-badge&logo=github-actions&logoColor=white) ![CMake](https://img.shields.io/badge/CMake-%23008FBA.svg?style=for-the-badge&logo=cmake&logoColor=white) ![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=for-the-badge&logo=c%2B%2B&logoColor=white)

## ๐Ÿš€ C++ Implementations available
This project uses C++ implementations instead of the original Java implementation. It's like giving our patterns a new superpower!

## ๐Ÿฆ€ Rust Implementations in Development
Coming soon!

## ๐Ÿงช Automated Testing
No more sleepless nights worrying about breaking changes! This project uses the Google Testing Framework to catch those sneaky bugs. ๐Ÿ›

![GTest Run Log](https://github.com/star-3gg/derek-banas-software-architecture/assets/147496446/5b47bfc2-589a-470d-9cc0-100d624ba8be)

## ๐Ÿ Prebuilt Binaries & Automatic Releases
Every time a new commit is pushed to the main branch, our CI/CD pipeline kicks in to automatically build and test the project.
If everything checks out, a new release is created and published right here on our [releases page](https://github.com/star-3gg/derek-banas-software-architecture/releases).
Ensuring well tested and fast deployments. If you just want to see what a program does without having to compile the binaries yourself,
this is great for you. The exectuable binaries should run on **all major x86_64 Linux distributions** which means you can run the binary inside docker.
If a binary does not run on your machine, please let me know by creating a new issue on the [issue page](https://github.com/star-3gg/derek-banas-software-architecture/issues).

## ๐Ÿณ Containerized Environment
Dive into a seamless development experience! The environment for this project is fully containerized using docker-compose. ๐ŸŒŠ

### ๐Ÿ›  Scripts for Ease-of-Use
- `build.sh`: Builds the project inside of the container. ๐Ÿ—๏ธ
- `clean-build-files.sh`: Cleans the build directory. ๐Ÿงน

Let's make our code cleaner & more efficient ๐Ÿš€