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

https://github.com/thatrobotdev/pattern-pigeon

๐Ÿฆ Pattern Pigeon is a conversational assistant built with Dialogflow CX to teach the Strategy, Composite, and Observer design patterns.
https://github.com/thatrobotdev/pattern-pigeon

Last synced: 2 months ago
JSON representation

๐Ÿฆ Pattern Pigeon is a conversational assistant built with Dialogflow CX to teach the Strategy, Composite, and Observer design patterns.

Awesome Lists containing this project

README

          

# ๐Ÿฆ Pattern Pigeon

![Screenshot](.github/README/Screenshot%202025-04-17%20at%2011-34-51%20Coo%20coo!%20(Salutations!)%20๐Ÿฆ%20Pattern%20Pigeon.png)

> Coo coo! I'm Pattern Pigeonโ€“your feathered friend here to help you understand software architecture patterns like Strategy, Composite, and Observer. I might ruffle in a few pigeon facts too. What are you curious about today?

Pattern Pigeon is a [deterministic](https://cloud.google.com/dialogflow/cx/docs/generative-deterministic#deterministic)[^1] conversational assistant built with Google Cloud's [Dialogflow CX](https://dialogflow.cloud.google.com/cx/projects) to teach the [Strategy](https://en.wikipedia.org/wiki/Strategy_pattern), [Composite](https://en.wikipedia.org/wiki/Composite_pattern), and [Observer](https://en.wikipedia.org/wiki/Observer_pattern) design patterns.

[^1]: All responses are generated by the agent, without generative input from a large language model (LLM). However, Flows use language models for understanding end-user intention, which may not be completely deterministic.

## ๐Ÿ•Š๏ธ Try the Demo

Curious how Pattern Pigeon flaps its wings?
๐Ÿ‘‰ [**Check out the live demo**](https://www.jameskerrane.com/projects/pattern-pigeon/)

## Contributing

Follow the instructions from [Google Cloud](https://cloud.google.com/dialogflow/cx/docs/concept/github) to set up GitHub integration:

1. If you're contributing: [fork this repository](https://github.com/thatrobotdev/Pattern-Pigeon/fork).
2. Create a [fine-grained personal access token](https://cloud.google.com/dialogflow/cx/docs/concept/github#access_token) from [GitHub](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token). (Read-only is fine if you're not contributing.)
3. [Create a secret](https://cloud.google.com/dialogflow/cx/docs/concept/github) for the token in the Dialogflow CX console.
4. [Configure Git export/restore integration](https://cloud.google.com/dialogflow/cx/docs/concept/github#dialogflow_config) for your Dialogflow CX agent.
5. Pull the agent from GitHub!
6. If contributing, push your changes and **rebase or amend any unintended edits.**
โš ๏ธ Note: Dialogflow CX **overwrites the entire branch** on push from the console, so make sure to:
- Commit only intended changes.
- Compare changes made in the dashboard vs. those you want to keep.
- Optionally, make edits in a local text editor and manage them manually.

## License

![A pigeon standing in a flock alongside an image of a bird, a heart emoji, and the Apache software foundation feather](.github/README/Pigeon%20<3%20Apache/Pigeon%20<3%20Apache.png)

> The pigeon photo used was taken by Muhammad Mahdi Karim/. The image above is licensed under the [Free Art License](https://artlibre.org/licence/lal/en/). ([Learn more](.github/README/Pigeon%20<3%20Apache/LICENSE)). This project is not endorsed or connected to the Apache Software Foundation.

This project is licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.html), [which you can read here](LICENSE).