# Design Patterns Game
[](https://travis-ci.org/zoltantothcom/Design-Patterns-JavaScript) [](https://coveralls.io/github/zoltantothcom/Design-Patterns-JavaScript?branch=master) [](https://www.codacy.com/app/zoltantothcom/Design-Patterns-JavaScript) [](https://greenkeeper.io/)
Design Patterns - a quick game to test your familiarity with the 'Gang of Four' design patterns implemented in JS.
### :zap: [PLAY HERE](https://designpatternsgame.com/)

- [About](#about)
- [How To Run Locally](#how-to-run-locally)
- [Running the Tests](#running-the-tests)
- [Inspiration and Credits](#inspiration-and-credits)
- [License](#license)
## About
This is a small game to get you familiar with all the 23 Gang of Four design patterns implemented in JavaScript.
### Creational Patterns
- Abstract factory
- Builder
- Factory method
- Prototype
- Singleton
### Structural Patterns
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
### Behavioral Patterns
- Chain of responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template
- Visitor
## How To Run Locally
1. Clone this repo
```
git clone git@github.com:zoltantothcom/Design-Patterns-JavaScript.git
```
2. Switch to project folder
```
cd Design-Patterns-JavaScript
```
3. Install all the dependencies
```
yarn
```
4. Time to start the engine
```
yarn start
```
5. Voila! The project is running on [http://localhost:8080](http://localhost:8080)
## Running the Tests
- To run the tests
```
yarn test
```
- To see the detailed test coverage
```
yarn test:coverage
```
## Inspiration and Credits
- Inspired by the very well-known [JavaScript Guessing Game](https://javascript-game.firebaseapp.com/)
- Code samples impudently taken from the awesome compilation of [Design Patterns JS](https://github.com/fbeline/Design-Patterns-JS)
If you want a deeper dive into the subject feel free to check out [Learning JavaScript Design Patterns](https://addyosmani.com/resources/essentialjsdesignpatterns/book/) by _Addy Osmani_.
## License
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
See [Unlicense](http://unlicense.org) for full details.