Skip to content

lamdav/joinProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

162 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

forthebadge

Join Project Build Status Dependency Status

Authors: David Lam, Kennan French, and Christopher Knight

Description:

A repository for our CSSE 333 project. The goal of this project is to create a working prototype demonstration of a Tinder for Gamers. Not in the dating sense but as a social network for gamers to connect with other gamers with similar interest.

Requirements:

  • Node.js
  • http-server
  • Putty or SSH client

How to use (Local):

  1. Download the repository.
  2. Navigate to the root of the repository folder via terminal.
  3. Run npm install to update/retrieve required npm packages.
  4. Run npm install http-server --g to install required test package.
  5. Run npm start to build main.js located in public\js. This will build the main.js upon any detected changes. Note: the terminal will be inactive.
  6. Run http-server -p <port> to start the server.
  • Alternative: Rather than using http-server, you can launch node app.js or nodemon app.js instead. Everything else still follows.
  1. Open Putty or SSH client.
  2. Go to Connection -> SSH -> Tunnels.
  3. Set port to 3306 and destination to localhost:3306. Then click the add button.
  4. Go back to Session and enter the hostname given in the email.
  5. Optional: Save Session with a session name below.
  6. Click open and login with emailed credentials.
  7. Now open a new terminal window and navigate to the repository.
  8. Optional: Run npm install nodemon -g to install nodemon.
  9. Run nodemon server.js or node server.js. This will run a server on port 3333.
  10. Open your prefered browser and go to localhost:<port> where <port> is the port used in http-server.
  11. You should now see the react webpage.

How to use (Remote):

  1. SSH into the provided VM (see steps above).
  2. Enter into the terminal cd joinProject/.
  3. Recommended: enter into the terminal git pull origin master.
  4. Run the shell script by entering this into the terminal ./run.sh.
  5. You can now access the server remotely by going to joincsse333.csse.rose-hulman.edu:3330 (only when on campus).
  6. Note: The servers (web and API server) will now run indefinitely. To shut down the servers, run forever stopall.

List of Pages:

Page Assigned Status
User Profile Kennan French Incomplete
User Account Setting Kennan French Incomplete
Game Info David Lam Completed
Search Result David Lam Completed
Preference Selection Kennan French Incomplete
Matching David Lam Completed
Conversation Kennan French
David Lam
Completed

Milestones:

Milestone 01:

David Lam:

  • Create login page
  • Account creation page
  • Set up nav bar

Extras:

  • Email Validation
  • Password Validation
  • Account Validation
  • Basic Routing
  • Set up Express Server

Kennan French:

  • Create preference selection form
  • Create message/chat UI
  • Design profile page

Christopher Knight:

  • Create scripts
  • Tutorials for javascript, node, mysql

Milestone 02:

David Lam:

  • Connect account creation page to backend
  • Start games page
  • Peer review stored procedures

Extras:

  • Have users retype password for front end validation
  • Token-based authentication
  • Begin implementing stored procedures
  • Sign out procedures
  • Modified Create stored procedure
  • Modified Login stored procedure
  • Made GetGameByTitle stored procedure
  • Start Game searching

Kennan French:

  • Learn React
  • Hook stuff up with David's stuff (related to above)
  • Write js to do the stuff I said js would do on previous pages
  • Unify/standardize css, custom div classes
  • At least registration front-end validation (David Lam)
  • Create dummy user for VM (David Lam)

Christopher Knight:

  • Stored procedures for user creation + account info updates
  • Stored procedures for creating + updating available hours
  • Stored procedures for user rating
  • Help get mysql talk to front end
  • Figure out dummy user permissions

Milestone 03:

David Lam:

  • Matching page
  • Add tags to game page

Extras:

  • Complete Game searching
  • Made games page database dependent
  • Added more security checks on authentication-required pages
  • Set up pages for User Profile, Preference, and Messages
  • Added ESLint
  • Added Travis CI integration
  • Reduced Coupling in handling token authentication
  • Cleaned code running linter

Kennan French:

  • Make schedule widget
  • Make rest of widgets needed for user profile page
  • Profile page should be done
  • More integration
  • User preferences/settings page

Christopher Knight:

  • Continue writing stored procedures as needed
  • Figure out mysql data dump
  • Add lots of data to tables

Milestone 04:

David Lam

  • Begin integrating matching page front end with back end (dependent on Chris)

Extras:

  • Improved Linter with React
  • Commented Existing Code
  • Get basic Chat components
  • Completed Chat components
  • Match page accept/reject now functional
  • Users can add games to their "library" from the Game Page
  • Users can now view their library
  • Users can now delete games from their library
  • SQL Stored Procedures written:
    • get_game_by_id
    • add_message
    • add_friend
    • get_message_history
    • is_game_in_library
    • get_user_library
    • delete_game_from_library

Kennan French

  • Scroll box (class? widget?) (David Lam)
  • Integrate widgets with React virtualization + fix other React "quirks"
  • User preferences/settings page (done, just fighting with git to publish)

Christopher Knight

  • Match page back end/implement matching algorithm

Group

  • Study for test
  • Heuristics discussion

Milestone 05:

David Lam

  • Remove friend frontend
  • Work on paper

Extras:

  • Updated SQL Stored Procedures:
    • get_friends_list (Now returns alphabetically)
  • Wrote SQL Stored Procedures:
    • delete_friend (Chris was asleep when writing UI)
  • Added dependencies badge.
  • Addded bash shell script for starting servers.
  • Integrated changes introduced by multi-valued Platform changes.
  • Setup GitHub Pages.
  • Fixed Preference Page bugs introduced by Kennan
  • Updated some pages to meet React Router changes.
  • User's can now have empty friends list.

Christopher Knight

  • Remove friend backend (David Lam)
  • Work on paper
  • Add index to tables

Extras:

  • Get multi-valued property of Platform working

Kennan French

  • Integrate widgets with React virtualization + fix other React "quirks"
  • User preferences/settings page (done, just fighting with git to publish)
  • Work on paper
  • Integrate Profile page
  • User Rate other Users
  • Compatibility with Mozilla Firefox
  • Hash Passwords

About

A repository for our CSSE 333 project. Demo:

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors