Professional Documents
Culture Documents
com/
Created by -->
*Harshit(18MCMC42).
1) Acknowledgment
2) About Project
3) Technologies or Dependencies Required
• MERN
• Axios and Socket.io
• Body-Parser and CORS
• Redux and Thunk
• Semantic UI
4) Detail Discussion of Project
5) Links and References
Acknowledgement
About Project
This is a simple Web Application Project which uses MERN (MongoDB, Express, React,
Node), WebSocket (Socket.io) and REST technologies.
It is a Game (Tic Tac Toe) application where user can use their Google credentials
to login and Play. For each game session there will be Chat Box where you can chat with
your Opponent user.
It provides a Dashboard for each from where user can see their score and can create a
new game. It is https #secure so need of worry 😊😊. Simply Join and Play.
Technologies or Dependencies
Required
MERN stands for MongoDB, Express, React, Node, after the four key technologies that make up the stack.
Socket.IO is a library that enables real-time, bidirectional and event-based communication between the browser and
the server. Using socket.io client will try to establish a WebSocket connection if possible, and will fall back on HTTP
long polling if not. WebSocket is a communication protocol which provides a full-duplex and low-latency channel
between the server and the browser.
3-- ->Semantic UI :
Semantic is a development framework that helps create beautiful, responsive layouts using human-friendly HTML.
It is similar to Bootstrap.
4-- ->Body-Parser and CORS :
Body-parser extract the entire body portion of an incoming request stream and exposes it on req. body . The
middleware was a part of Express.js earlier but now you have to install it separately. This body-parser module
parses the JSON, buffer, string and URL encoded data submitted using HTTP POST request.
Cross-origin resource sharing (CORS) is a mechanism that allows restricted resources on a web page to be
requested from another domain outside the domain from which the first resource was served. A web page may
freely embed cross-origin images, stylesheets, scripts, iframes, and videos.
Redux Thunk middleware allows you to write action creators that return a function instead of an action. The thunk
can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met. The inner function
receives the store methods dispatch and getState as parameters.
In this application I am preforming GET method call to fetch game and user details from server and POST method
call to create or update (not using PUT) user and game information to the server(database MongoDB).
Example :
This application also Google OAuth2 authentication. To allow this website to have OAuth2 I
have used a Google API.
The following diagram explains the detail architecture of the Website.
1) https://www.mongodb.com/mern-stack
2) https://socket.io/docs/v3
3) https://semantic-ui.com/
Thank You…