/Block-Blitz

A competitive puzzle game

Primary LanguageJavaScript

Block Blitz

Block Blitz a puzzle game allowing you to play competitively or solo. Rearrange the puzzle pieces to complete the images. When playing competitively winning against your opponent will increase your stats and help you climb the leaderboard.

Block Blitz was created as the final project in the Lighthouse Labs Web Developement Bootcamp. Block Blitz runs on an Express NodeJS server. The client side of the app was built using EJS, jQuery and Sass and the puzzle uses Packery and Draggabilly modules. Socket.io handles realtime communication between server and client which allows for our lobby and matchmaking. A PostgreSQL database was utilized through KnexJS middleware.

Contributors

  • Mark Zsombor
  • Reid Naaykens
  • Catherine Hrynuik
  • Kelsey Cooper

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. Visit blockblitz.live to see the deployed app.

Clone or download project

Via SSH

In your command line run git clone git@github.com:Block-Blitz/take-2.git <dir_name>

Install Dependancies

In the program directory run npm install

Set up database

Create a .env file by using .env.example as a reference: cp .env.example .env

Create a Postgres database createdb <db_name>

Update the .env file with database name.

Run migrations knex migrate:latest

Start server

Type npm start in your command line.

Open application in your browser

localhost:8080

Dependencies

  • bcrypt
  • body-parser
  • connect-flash
  • cookie-session
  • dotenv
  • draggabilly
  • ejs
  • express
  • jquery
  • knex
  • knex-logger
  • morgan
  • node-sass
  • node-sass-middleware
  • packery
  • socket.io
  • socket.io-client
  • uuid
  • swearjar

Images from the Application

Homepage "Screenshot of homepage"

Login page "Screenshot of login_page"

Register page "Screenshot of register_page"

User dashboard "Screenshot of user_dashboard"

Game play view "Screenshot of game_play_view"

Game winner view "Screenshot of game_winner_view"

Game loser view "Screenshot of game_loser"