Skip to content

awsk1994/Webapp_MineSweepers_Multiplayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReadMe (This project is still in Development!)

Brief Overview

This is a web application for MineSweeper. It has single player & multiplayer mode.

The purpose of this project is to get experience in web application architecture and process (UI/UX design, database, server, client, sockets), as well as experiment on Angular 2 as UI framework.

General

Gameplay feature 3 difficulties. When user finishes playing the game, he/she can submit their highscore if database and server is setup. Global and Room chat is also only available if server is setup.

Multiplayer

In multiplayer, you have to create a room, and wait for another user to join the room in order to start the game. The first player to finish the game wins.

Highscore

Highscore chart only works if server and database is setup.

How to run:

Start Client:

  1. open client/MineSweepers folder via terminal
  2. npm install --save
  3. npm start

Start Server:

  1. open server folder via terminal
  2. npm install --save
  3. npm start

Setup Database (If database not already set up - without database, single player will still work)

  1. Set up MySql (Recommended to use MySQLWorkbench)
  2. Change settings on server/db/db.js, specifically the line: mysql://root:asdf123@localhost/sys to match your own configuration.
  3. Navigate to server/db
  4. run node init_db.js

Basic Components (Client):

Angular 2: Front-end UI Framework (used Angular cli to create seed project)

Font-Awesome: CSS library

BootStrap 4: CSS library

Basic Components (Server):

nodeJS: Server

Express: framework of nodeJS to handle API routes

MySQL: Database

Sequelize: MySQL ORM

Socket.io: Web Socket

Last Updated: 12/12/2017 Alex Wong