Git Product home page Git Product logo

csci15p4's Introduction

Project: CSCI E-15 P4

Philip Regan

Live URL

http://p4.regan15.pw

Description

This project is a simple server designed to allow users to play chess with each other across the Internet. Features include:

  • Play against others or yourself
  • Curate a common collection of opening positions
  • Start a new game with an opening position
  • Simple user administration for the admin account

Demo information

http://www.screencast.com/users/regan15pw/folders/Default/media/77f7065c-7f91-4dd0-a60a-ec79c00175c3

Test Requirements and Details

Access

LCS comes with some credentials (passwords are the account name before the '@' twice in a row; [email protected] => foofoo)

New accounts must have 6 character passwords.

Site Areas

  • "Games" lists all of the games you are currently playing, and is where new games are created. You can play as many games as you would like against any variety of players.
  • "Positions" is the common collection of opening positions. Positions can be created, edited, and deleted, but both the name and the position of the pieces must be unique.
  • "Account" is where an account can be updated as needed, but both the username and email must be unique.
    • To delete a user account, log in as the administrator and go to /localhost/user

Dependencies and Citations

Change History

  • 14_11_14_01_00_000: Started source
  • 14_11_15_01_00_001: Added chessboard.js, chess.js code
  • 14_11_15_01_00_002: Added test integration of example random v. random game code
  • 14_11_15_01_00_003: Added local database connection
  • 14_11_15_01_01_000: Added positions table with seed data
  • 14_11_15_01_02_000: Added positions retrieve all view and output
  • 14_11_15_01_03_000: Added positions retrieve one view and output; added navigation from positions retrieve all to positions retrieve one
  • 14_11_15_01_03_001: Added retrieval of individual position for editing
  • 14_11_15_01_03_002: Fixed bug with linking to chess engine js; Adding linking back to positions page
  • 14_11_15_01_03_003: Added buttons to position page
  • 14_11_15_02_00_000: Added users migration; added UserController, GameController, PositionController
  • 14_11_15_02_01_000: Added user_create form
  • 14_11_15_02_01_001: Added saving user data
  • 14_11_15_02_02_000: Added showing single user
  • 14_11_15_02_02_001: Fixed routing from create to store to show
  • 14_11_15_02_03_000: Added routing to editing and deleting
  • 14_11_15_02_04_000: Added user editing form
  • 14_11_15_02_05_000: Added user updating
  • 14_11_15_02_06_000: Added user deletion; added $user not found routing to index
  • 14_11_29_02_07_000: Added initial user authentication
  • 14_11_29_02_08_001: Started making positions RESTful; Added position index
  • 14_11_29_02_08_002: Fixed authentication issues around positions
  • 14_11_29_02_08_003: Added locking down of user-related urls
  • 14_11_29_02_09_000: Added position creation; Updated interface with minor tweaks
  • 14_12_01_02_09_001: Added capture of position updates in position creation
  • 14_12_01_02_09_002: Added creation of positions to database
  • 14_12_01_02_09_003: Fixed bug where wrong value was being passed from position creation to show
  • 14_12_01_02_09_004: Added authentication to position creation
  • 14_12_03_02_10_000: Added edit page for positions; Added update for positions
  • 14_12_03_02_11_000: Added delete for positions
  • 14_12_03_02_11_001: Fixed edit page not getting position and name data; fixed routing for updates
  • 14_12_03_02_11_002: Fixed position index bug preventing position ids larger than number of rows in db table (no soft deletes. doh)
  • 14_12_03_02_11_003: Updated home page with better content
  • 14_12_04_03_00_000: Added game database migration; Added Game Index Blade; Added Game Index Code
  • 14_12_04_03_01_000: Added new game creation blade
  • 14_12_04_03_01_001: Added jquery autocomplete
  • 14_12_04_03_01_002: Deprecated jquery autocomplete; Added pull down menus for game creation
  • 14_12_07_03_01_003: Added username to user signup form
  • 14_12_07_03_01_004: Added link to user show page
  • 14_12_07_03_01_005: Added reset button to game create page
  • 14_12_07_03_02_000: Added game create; Added game show
  • 14_12_07_03_02_001: Fixed various bugs
  • 14_12_08_03_02_002: Fixed bug in game create form preventing data to be posted to server
  • 14_12_08_03_03_000: Added game creation in database
  • 14_12_08_03_03_001: Fixed bug where games were not being retrieved for a user on their games page
  • 14_12_09_03_04_000: Added game edit
  • 14_12_11_03_04_001: Updated game edit to submit FEN and submitting user ID; Fixed a layout bug
  • 14_12_11_03_04_002: Added game move submission round trip
  • 14_12_11_03_04_003: Updated to latest game turn components
  • 14_12_11_03_04_004: Added turn handling framework to game edit
  • 14_12_11_03_05_000: Added pinging framework
  • 14_12_11_03_05_001: Disabled ajax; Added move indicator
  • 14_12_11_03_05_002: Fixed bug where boards weren't editing
  • 14_12_11_03_05_003: Fixed bug where turns were not being completely swapped
  • 14_12_14_04_00_000: Added validation to user create form
  • 14_12_14_04_00_001: Updated user creation and edit forms to be aligned
  • 14_12_14_04_00_002: Updated user migration to include non-admin accounts
  • 14_12_14_04_00_003: Updated user update to manually handle username validation
  • 14_12_14_04_01_000: Updated img path in chessboard.js to align with Laravel URL map; Fixed bug in position edit where user id was not being grabbed
  • 14_12_14_04_02_000: Added validation to position create and edit
  • 14_12_14_04_02_001: Updated authorization in position edit; Remove extraneous code in position edit
  • 14_12_14_04_03_000: Updated authentication checks in GameController to be aligned
  • 14_12_14_04_04_000: Updated authentication checks in PositionController to be aligned
  • 14_12_14_04_04_001: Fixed authentication check in position show
  • 14_12_14_04_05_000: Updated authentication checks in UserController to be aligned
  • 14_12_14_04_06_000: Updated PositionController and UserController to better handle unfound objects
  • 14_12_14_04_07_000: Updated game edit form to be more organized; Updates game show code to better show intent; Fixed bug in game create preventing both players from submitting moves
  • 14_12_14_04_07_001: Updated game edit to change board orientation based on user login
  • 14_12_14_05_00_000: Starting enhanced game logic validating moves at time of play
  • 14_12_14_05_01_000: Added chess logic hooks
  • 14_12_14_05_01_001: Fixed parsing bugs preventing board drawing
  • 14_12_14_05_02_000: Fixed bug preventing board from being found in DOM which prevented game state lifecycle to complete
  • 14_12_14_05_02_000: Added game delete
  • 14_12_14_05_03_000: Updated buttons in position index to use bootstrap
  • 14_12_14_05_04_000: Updated buttons in all forms to use bootstrap
  • 14_12_14_05_05_000: Updated text areas in all forms to use bootstrap; Fixed a couple interface inconsistencies
  • 14_12_14_06_00_000: Updated layouts in all forms to make them consistent
  • 14_12_14_06_00_001: Updated interfaces in positions to make them consistent
  • 14_12_14_06_00_002: Updated button to make them consistent
  • 14_12_14_06_01_000: Updated game edit to prevent player from making more than one move
  • 14_12_14_06_01_001: Updated position index to align link text with button
  • 14_12_14_06_01_002: Fixed routing issue in position edit; Updated user edit to recognize the submitter
  • 14_12_14_06_02_000: Updated UserController and PositionController to sanitize text fields
  • 14_12_14_06_02_001: Updated layout of position edit to make consistent
  • 14_12_14_06_02_002: Updated game create to check of user is one of players in the game
  • 14_12_14_06_02_003: Added flash messaging to login; Added style to have errors and alerts in read
  • 14_12_15_06_03_000: Added h2 tags to all pages for consistency; Updated "create" button in position create to primary class
  • 14_12_15_06_04_000: Added user admin, restricted access by account email
  • 14_12_15_06_04_001: Updated user index to exclude the admin account
  • 14_12_15_06_04_002: Updated routes to better handle errors
  • 14_12_15_06_04_003: Updated user edit and update to handle changes
  • 14_12_15_06_04_004: Added status updates to game edit

cd /Applications/MAMP/htdocs/CSCI15P4; git add --all; git commit -m "Updated readme with screencast information"; git push origin master

csci15p4's People

Watchers

James Cloos avatar Philip Regan 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.