Code Monkey home page Code Monkey logo

joinproject's Introduction

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

joinproject's People

Contributors

lamdav avatar kennanfrench avatar knightcm7 avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

knightcm7

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.