GithubHelp home page GithubHelp logo

pierceforfears / game-changer Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 2.0 1.05 MB

This is a MERN full-stack application that allows users to simultaneously search the Gamestop website and Xbox One Marketplace with the help of the packages of axios and cheerio.

Home Page: https://stormy-cliffs-44189.herokuapp.com/

HTML 5.36% CSS 9.46% JavaScript 84.49% TSQL 0.69%

game-changer's Introduction

game-changer

This is a MERN full-stack application that allows users to simultaneously search the Gamestop website and Xbox One Marketplace with the help of the packages of axios and cheerio. The front-end of the application utilizes React for user interfaces. Node runs on the server-side of this application, and express handles the web requests on the server. MySQL stores the data for this application.

Table of Contents

Organization of the Application

The app has a signup/login area where users can create accounts. BCryptJS hashes and salts the passwords for secure password storage on the MySQL database. A local Passport strategy creates an express session which authenticates and stores the user's account information. The application takes in a search term from the user and searches the Gamestop website and Xbox One Marketplace, and then scrapes those sites using cheerio and displays the results to the user with React. The user can also view previous search results they have saved.

Getting Started

In order for this application to run on your local computer, you must have Node.js installed as well as the required node modules and a MySQL database and server.

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Node.js and MySQL are required to run this application locally.

Clone

  • Clone this repo to your local machine using https://github.com/pierceforfears/game-changer

Installation

MySQL Server Installation Guide (Windows)

  • Head to https://dev.mysql.com/downloads/windows/installer/8.0.html

  • Select Windows (x86, 32-bit), MSI Installer (16.3 M)

  • Click “No thanks, just start my download.”

  • Navigate to where the file was downloaded and double-click to run the installer. If you get prompted for an update, proceed with the upgrade.

  • When you get to the License Agreement screen, Accept the license terms and click “Next”

  • Click the “+” next to “MySQL Servers” to expand it, expand “MySQL Server”, expand “MySQL Server 8.0”, and finally select “MySQL Server 8.0.12 – X64” and click the right arrow to add it to the “Products/Features To Be Installed” section.

  • Click “Execute”

  • When the status says “Complete”, click “Next”.

  • At the product configuration screen, click “Next” again.

  • Select “Standalone MySQL Server / Classic MySQL Replication” and click “Next”

  • For Type and Networking, don’t change anything and click “Next”

  • IMPORTANT: Make sure to select “Use Legacy Authentication Method (Retain MySQL 5.x Compatibility) and click “Next”

  • Create a root password. WARNING. Do not forget this password! After entering a password, click “Next”

  • When you get to the Windows Service screen, don’t change anything and click “Next”

  • Finally, click “Execute” to apply the changes.

  • You can verify that the installation was correct by going to Git Bash and typing “mysql –V”. The path followed by the version should show up.

MySQL Server Installation Guide (Mac)

  • Head to https://dev.mysql.com/downloads/mysql

  • Scroll down and find macOS 10.14 (x86, 64-bit), DMG Archive and click “Download”.

  • Click “No thanks, just start my download.”

  • Open the .DMG file and go through the installation process.

  • Click “Continue” to get to the Software License Agreement Screen.

  • Click “Continue” to agree with the Software License Agreement and click “Agree”.

  • Click “Install” and input your password to allow the installer to continue.

  • IMPORTANT: Make sure to select “Use Legacy Password Encryption” and click “Next”.

  • Create a root password. WARNING. Do not forget this password! After entering a password, make sure to check the box to "Start server on installation"

  • Click “Finish”.

  • You can verify that the installation was correct by going to “System Preferences” and the MySQL icon should show up at the bottom.

  • Click the MySQL Icon in "System Preferences". This will bring up a GUI in which you can Start or Stop your server. You can also set it to start server when you turn on your computer.

Install Node and packages

install npm packages

$ npm install

To run the database connection locally, a user could install the dot-env package and create a .env file in the root folder. Here, create an environmental variable as LOCAL_DB=mysql://root:<YOUR_PASSWORD>@localhost:3306/game_changer_db, with <YOUR_PASSWORD> your password to your local database.

Example

Run npm start to start both the application's server and client side.

$ npm start

The user can interact with the GUI as necessary.

Built With

  • Node.js - Server runtime environment for JavaScript
  • Passport - User authentication package
  • Cheerio - Package used for web scraping
  • Axios - Package used for server side http requests to APIs
  • Bcryptjs - Package used for hashing and salting passwords for storage
  • Express - Fast, unopinionated, minimalist web framework for node
  • Gamestop - Search for games get back Gamestop's prices
  • Xbox One Marketplace - Search for games get back the Xbox One Marketplace's prices
  • MySQL - Open-source relational database
  • Sequelize - Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server.
  • React - A JavaScript library for building user interfaces

Authors

Acknowledgments

  • Thanks to all the open source contributors that helped with the building blocks of this project.

game-changer's People

Contributors

pierceforfears avatar dayadam avatar tristontetley avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

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