Giter Club home page Giter Club logo

tic-tac-toe-client-1's Introduction

General Assembly Logo Tic-Tac-Toe

This is the first project in WDI.

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

About Project 1

Tic-Tac-Toe This is a two person game using one device where the first person to place 3 of their symbols in same row, column, or diagonal wins.

The first player is X and clicks with mouse/pass on the grid board piece and the turn automatically turns to player O where they do the same. There may be no more than 9 moves in one game, and the goal is to outwit opponent by placing 3 symbols X or O in an consecutive row, column, or diagonal.

Tic-Tac-Toe is built using HTML, CSS, SASS, Javascript, and jQuery and relies on a Rails API/Postgres to persist data.

User stories

  • As a user, I want to play tic-tac-toe online accessed via a single page.
  • As a developer, I want to work with separate branches for various pieces of work with frequest commits and then merge them from master branch.
  • As a developer, I want a practical README.md to explain details about the project and how to run the code.
  • As a user, I want to see how many wins, how many over all games played, and percentages.
  • As a user, I want play consecutive games without refreshing the page.
  • As a user and developer, I want authentication functionality (login, logout, change password).

Wireframes

Data Model

  • The data model was provided to us in the project documentation. These were several nested objects. The high-level models are for the User, the data about the games passed back, the board. The numerous functions were setup to manage the interactions between resources (front-end server, Rails server, javascript).

Development Process

Since this is the first project of this type I have begun, I wasn't sure where to begin other than setting up a website. So I reviewed the various bells and whistles available with bootstrap. I'm not very familiar with these templates but learned quite a bit about the restrictions--there are many restrictive classes maintaining its structure/template foundations. I ran into some difficult with getting the authentication to work in the modals but with someone's suggestion (as they too ran into that situation), I was able to have my sign-ins authenticated with 200s. I felt bewildered with this project but quickly learned some important notions as follows:

be sure to follow every last instruction with the browser template install because if any sort of copying or moving of files, can cause a significant setback in time and psyche. I lost quite a bit of time dealing with git. I discovered major issue when initially deploying to production. The feature branch on which I was working was not connected to master branch and therefore could not push my changes to it and could not deploy. This also caused issues in later deployment.

The next struggle in this project was decided which part of the project to tackle next. Daily, I had a short list of goals to complete and tried to cross of as many as possible. While the git fiasco carried on, I did make progress but extremely slowly. I spent most of my weekend coding and tackling problems with code.

Unfortunately, I was unable to complete all of the requirements and will have to continue work on them this week. I feel these are reasonable goals and that will achieve them.

Another major part of the learning process with this project is the issues repository and the interaction for getting questions answered. With practice, I expect I will become comfortable with the process. I do feel like I spent more time trying to figure out how to ask a question than I did on my project itself. The system in place to manage the tickets will be beneficial, but will require some more work and training.

While working on this project, I am becoming more comfortable with the interactions between the resources and with the MacBook Pro, the Terminal, and the syntax.

Dependencies

Install build dependencies with bundle install. Browser-template provided many pre-populated files for use with this project. I used Bootstrap template for this site.

Additional Tech Used

There were numerous files given to us in template files.

Next Steps

  • Fix functionality to restrict clicking in the grid after the game is over.
  • Fix functionality to display how many wins Player X has made.
  • Fix functionality to display a game by game ID
  • Fix any issues related to deployment.
  1. All content is licensed under a CC­BY­NC­SA 4.0 license.
  2. All software code is licensed under GNU GPLv3.

tic-tac-toe-client-1's People

Watchers

James Cloos avatar

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.