Giter Club home page Giter Club logo

tic-tac-toe-client's Introduction

General Assembly Logo

Tic-Tac-Toe Project Client

URL to play the game

https://angmas.github.io/tic-tac-toe-client/

Issues Log

  • Need to NOT create a new game if there is a blank one that is ready to be used. Clicking multiple times on the 'Play A Game' nav link, 'Start a New Game' button on the TIC TAC TOE page, will increase the player's games started counter.

  • Nav bar does not collapse into the hamburger menu when in smaller media sizes.

  • Form validation and ajax api failure messaging needs to be styled more consistently with each other.

  • Code could be refactored to be more organized. I want to separate the Tic Tac Toe page events and the Game Statistics events.

Technlogies used

  • Boostrap 3.3.7
  • JQuery
  • JavaScript
  • HTML
  • CSS
  • Ruby on Rails
  • Ajax
  • Grunt

Development Approach

I believe I spent about 75% of my time struggling with HTML and CSS layout and form validation. Since I already knew that those were my weakest areas, I started with what I was more comfortable with: API calls and Javascipt. In a nutshell, the best scription of how I developed is that I got everything working and then moved the pieces into the shapes that I made sense to me.

I first developed the logic to detect the the winning lanes for the Tic Tac Toe grid. I copied the boggle challenge solution Abandoned played with in the bash console with node until I felt really comfortable with it. I started with one set of coordinates and eventually designed an array with all eight coordinates that I looped through to determine the win.

After that, I worked on the front end in the following order, adding each to a single page:

  • Tic tac toe grid
  • The Sign up/in/out, and change password forms (which were super easy since I had working code from the patch training).
  • The Game Statistics page (during which I ended refactoring the game winning logic so that it was easier to call from both the game grid and a button click event)

Once I had all of the individual pieces working, I spent some time deciding how I wanted the final layout. I know that this is totally backwards, but I felt like I needed more play time with the individual sections visible on page before I could feel comfortable playing with the hide/show functions.

While working on the layout, I also had fit in the form field validations and api call error handling. I actually crammed in those two different scopes of work together due to the time crunch.

User Stories

(https://drive.google.com/open?id=1JQ75G0IxGLu3HlFi_2D7e7Izc0_7nW45IE8v4qeNjkw)

Wireframes

(https://drive.google.com/open?id=1vc7G2eOTmCbDvsQd_2jnym0QP2-w8-Z2JD2Eoei6hsA)

  1. All content is licensed under a CC­BY­NC­SA 4.0 license.
  2. All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact [email protected].

tic-tac-toe-client's People

Contributors

angmas avatar

Watchers

James Cloos avatar

Forkers

mashlan

tic-tac-toe-client's Issues

Change Password Screen: entering a bad password has incorrect error message

Summary
When trying to change a password and someone puts in a wrong password to begin with, two messages appear with messages from the previous error/success conditions.

Steps to reproduce (long version):

  1. Go through the steps to cause the sign up process to create an error. This can include trying to log in with an existing account, passwords don't match, etc.
  2. Go through the steps to successfully create an new account (this doesn't have to even be with the account created in step 1).
  3. Once you are in, go to the change password screen. (upper left hand drop down menu).
  4. Enter the wrong password in the Old Password field.

Expected result:
Error message appears informing user that the wrong credentials were passed.

Actual result:
Both error and success messages from steps 1 and 2 appear.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.