Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/paragon279/tetrlgnd

Tetris Legend is a web game platform
https://github.com/paragon279/tetrlgnd

Last synced: about 14 hours ago
JSON representation

Tetris Legend is a web game platform

Awesome Lists containing this project

README

        

# Red-tetris-42Network
The objective of this project is to develop a networked multiplayer tetris game from a stack of software exclusively Full Stack Javascript

There also is a classic solo mode with a leaderboard.

Everything is in real time thanks to socket.io.

The code is entirely unit tested with jest.

## Built with

### Front-end

* React.js + Redux Thunk
* Socket.io

### Back-end

* Node.js
* Socket.io

## Project preview
### Home page

### Lobby

### Solo game

### In a 'battle' game (2 players)

### Game Over screen

### Winner screen

## General instructions

The project must be written totally in Javascript and especially in its es2015 (ES6)
version.

The client code (browser) must be written without a call to "this" in the purpose
of pushing you to use functional constructs and not object. You have the choice of the
functional library (lodash, ramda, ...) to use it or not.

The handling logic of the heap and pieces must be implemented as "pure functions".
An exception to this rule: "this" can be used to define its own subclasses of "Error".
On the opposite, the server code must use object-oriented programming (prototype).
We want to find there at least the (ES6) Player, Piece and Game classes.

The client application must be built from the React and Redux libraries.

HTML code must not use TABLE elements, but must be built exclusively from
a layout flexbox.

Prohibition to use:
* A DOM manipulation library like jQuery
* Canvas
* SVG (Scalable Vector Graphics)

There is no need to directly manipulate the DOM.
## Skills

* Object-oriented programming
* Web
* Functional programming
* Technology integration

## Usage
After Cloned the repo you must install the packages with the command:
```
npm i

```
Then you can run the server && client with the command:
```
npm run dev
```

The server is running on port 1337.
The client is running on port 3000. (http://localhost:3000/)

## TEST
To see the test coverage, run:
```
npm run coverage
```