Coder Social home page Coder Social logo

project-3's Introduction

Introduction

For project 3 of the SEI experience provided by General Assembly, the goal is to build a fully functioning web application using ReactJS and an API of our choosing. The app must contain the following components:

  1. A front-end React application that updates the UI and makes requests to the API.
  2. Includes data from a third-party API.

Contributors

As this is a team project, the members consist of:

Application Location

The web application is located here

API Usage

To implement a working game of sudoku. The API is used to support the following:

  • Generate a starting board, based on difficulty chosen from a GET request
  • Use the response from the GET request to send as payload for another POST request. This POST request return our expected solution
  • Then validate if a board is either solved or not solve
  • If the board is solved correctly, then user will see an pop up message and the Next level will be unlocked.
  • GitHub link for the 3rd party API

User Stories

  • As a user, I want to click on a box and enter a number so that I can input my response.

  • As a user, I want to only be able to enter a number, i.e. no letter or symbol, so that I can input a valid repsonse.

  • As a user, I want to know if the number I input into the box is correct or incorrect so that I can adjust my gameplay strategy as needed.

  • As a user, I do not want to change the value of a pre-populated box as that will alter the game itself.

  • As a user, I want to be notified when I have solved the puzzle, so that I can know that the game has ended.

  • As a user, I want the ability to click a button to end the current game so that I can start a new one.

  • As a user, I want to be able to view the rules, so that I understand how to solve the puzzle.

  • As a user, I want to be able to get the value from API for game board to have the game setup and be ready to play.

  • As a user, I want the board to keep a running timer on the game so that I know how much time I have remaining for that game.

Future Enhancements

  • As a user, I want to be able to click on a button to start a new game, only if no game is currently being played, so that I can play it.

  • As a user, when I start a new game, I want to be notified if I am already in the middle of an existing game so that I don't end the existing game prematurely.

  • As a user, I want to be able to select puzzle difficulty (easy/medium/hard), so that I can play a puzzle based on my skill level.

  • As a user, which will show the solution to the puzzle even if I didn't solve it in order to better understand where each number should have been placed as well as end the current game.

  • As a user, I want the game to keep track of the number of incorrect attempts during a game so that I can better track my abilities.

  • As a user, I want the ability to restart a game so that I can try again if I make too many mistakes.

  • As a user, I want the game to keep stats of the number of times I played in total and the number of times I won in each difficulty in order to better challenge myself.

  • As a user, I want the ability to reset those stats in order to keep track of a new streak.

Wireframes

Wireframe

Acknowledgements

The following resources were used in the implementation of this site: Drop Down Menu in React

project-3's People

Contributors

mdobaidulla avatar jmieszko avatar jayvillari avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

jayvillari

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.