ade-verd / 42_red_tetris

Multiplayer tetris game

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Red Tetris

Introduction

The goal of this project is to develop a multiplayer tetris game on the network with a set of software exclusively from Full Stack Javascript.

Front-end has been developed using latest features from ReactJS. State is managed using Redux and React Hooks. Front-end communicates with socket server.

Socket server has been developed using NodeJS and SocketIO. Data are stored using MongoDB.

bluetetris

Objectives

Subjects: red_tetris.fr.pdf or red_tetris.en.pdf

The pedagogical objectives are multiple, but the main axis is to introduce the language Javascript, to discover its abundant ecosystem and to implement some of the principles, techniques and Flagship tools of Full Stack Javascript.

Through the writing of a network Tetris game, you’ll implement functional principles (which is required), asynchronous client and server (by nature of the language) and reagents (by nature of the game and GUI).

You will have to write unit tests that will have to be worthy of an industrial chain of continuous delivery.

You will also discover the latest popular tools and libraries the Full Stack Javascript like Node.js, React.js and Redux.js.

Let's play !

Install

Install node first. After that:

source requirements.sh
npm install

To install mongodb and mongo-express containers run:

npm run start-services

Edit src/server/config/index.js and src/client/config/index.js for your needs.

Build and launch server

Build the project:

npm run srv-dist
npm run client-dist

And launch the node.js server listening for socket.io connexions:

node dist/server/main.js

The one-page project is now available on: http://localhost:3004

Development

Development mode with live reload

npm run srv-dev
npm run client-dev

The one-page project is now available on: http://localhost:8080

Tests

npm test

About

Multiplayer tetris game


Languages

Language:JavaScript 98.2%Language:CSS 1.6%Language:SCSS 0.2%Language:Shell 0.1%Language:HTML 0.0%