Skip to content

Latest commit

Β 

History

History
69 lines (62 loc) Β· 3.27 KB

README.md

File metadata and controls

69 lines (62 loc) Β· 3.27 KB

GAME OF DRONES

This project is created with the aim of showing the knowledge obtained in frontend technologies like react.js, redux.js and backend with nodej.js and socket.io, it is a game called Game Of Drones based on the famous game rock, paper or scissors, which includes two game modes "player vs machine" and "player vs player" this game is responsive and multiplayer.

Libraries used

These are the libraries that were used.

react ----> #JavaScript library to create robust interfaces.
redux ----> #Predictible container of javascript application status.
react-redux ----> #React connection with redux.
react-router ----> #Router for applications with react.
connected-react-router ----> #A Redux link for React Router v4
reselect Efficient ----> #redux state selector.
glamor ----> #css in your javascript.
redux-thunk ----> #Thunk middleware for Redux.
prop-types ----> #Check the passed props to the react components.
immutability-helper ----> #Help library with the immutability of the reducer.
pg ----> # Library to manage the postgreSQL database
socket.io ----> #Socket to interact in real time with the players.

Put in your local

  cd game-of-drones
  git clone 'https://github.com/rengifocris/game-of-drones.git'
  npm install
  npm run dev

Structure Folder

The methodology called "Structure By Features" is used for the organization of folders in projects to be scalable and maintainable.

β”œβ”€β”€ src # Main code.
β”‚ β”œβ”€β”€β”€β”€ common # Reusable code.
β”‚ β”œβ”€β”€β”€β”€ components # Reusable reagent components.
β”œβ”€β”€ pages # Each module of the application. It is commonly defined by the react / router address.
β”‚ β”œβ”€β”€β”€β”€ game # Main page. It is defined by the url for example "http://mysite.com/game".
β”‚ β”œβ”€β”€β”€β”€ actions # Reducx actions. List of the different actions that may occur in the application.
β”‚ β”œβ”€β”€β”€β”€ index.js # Entry point to expose all actions.
β”‚ β”œβ”€β”€β”€β”€ api # Actions that call some service api.
β”‚ β”œβ”€β”€β”€β”€ index.js # Entry point to expose all the actions api.
β”‚ β”œβ”€β”€β”€β”€ components # Components of the module.
β”‚ β”œβ”€β”€β”€β”€ index.js # Entry point to expose all the components.
β”‚ β”œβ”€β”€β”€β”€ actionTypes.js # Constants that identify the actions to be performed.
β”‚ β”œβ”€β”€β”€β”€ constants.js # General constants of the module.
β”‚ β”œβ”€β”€β”€β”€ Container.js # Intelligent component that interacts with redux.
β”‚ β”œβ”€β”€β”€β”€ index.js # Entry point to expose the content of the page (actions, reduce, Container, etc).
β”‚ β”œβ”€β”€β”€β”€ reducer.js # Reducer de redux. The state is altered here depending on the actions.
β”‚ β”œβ”€β”€β”€β”€ selectors.js # Getters for the state of redux.
β”‚ β”œβ”€β”€β”€β”€ configureStore # Configuration of the redux store.
β”‚ β”œβ”€β”€β”€β”€ index.js # Entry point for the application.