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

https://github.com/zoltantothcom/Design-Patterns-JavaScript

A game to test your familiarity with the ‘Gang of Four’ design patterns implemented in JavaScript.
https://github.com/zoltantothcom/Design-Patterns-JavaScript

javascript javascript-design-pattern javascript-game

Last synced: 8 months ago
JSON representation

A game to test your familiarity with the ‘Gang of Four’ design patterns implemented in JavaScript.

Awesome Lists containing this project

README

          

# Design Patterns Game

[![Build Status](https://travis-ci.org/zoltantothcom/Design-Patterns-JavaScript.svg?branch=master)](https://travis-ci.org/zoltantothcom/Design-Patterns-JavaScript) [![Coverage Status](https://coveralls.io/repos/github/zoltantothcom/Design-Patterns-JavaScript/badge.svg?branch=master)](https://coveralls.io/github/zoltantothcom/Design-Patterns-JavaScript?branch=master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/5f4e97b771504e23b0b414d2cbc69506)](https://www.codacy.com/app/zoltantothcom/Design-Patterns-JavaScript) [![Greenkeeper badge](https://badges.greenkeeper.io/zoltantothcom/Design-Patterns-JavaScript.svg)](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/)

![Design Patterns - game results screenshot](/static/screenshot.png?sanitize=true&raw=true)

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