Discover, track, and share your gaming journey with a community of passionate gamers.
- Deployed Site
- Core Functionality
- Technologies
- API Usage
- Prerequisites
- Drawing Board
- Contributing
- Stretch Goals
A platform where users can browse games and catalog their game collections, rate and review games, and create a custom favorites list.
This project is built with the PERN stack.
User are able to browse/search games, see game details and user reviews, and, upon login, can add games to their lists of favorites, write and delete their game reviews, view their “shelf” of games pulled from their favorites list, and view/change their basic profile information.
- Frontend: React Vite, PrimeReact
- Backend: Node.js, Express
- Database: PostgresSQL
- Testing: Vitest, React Testing Library (RTL), Jest
GAMESHELF uses the RAWG to populate the video game data. You can sign up for free for an account to get an API key and view API documentation here: https://rawg.io/apidocs
An account is necessary to get an API key and run this app.
Before you begin, ensure you have the following installed on your local machine:
- Node.js Download and install Node.js
- PostgreSQL: Ensure you have PostgreSQL installed and running.
Follow these steps to run the app locally:
- Clone the repository:
git clone [email protected]:jsnorek/GAMESHELF.git
- To clean your folder from the owner's git, run the command
rm -rf .git
inside the folder . Then re-initialize as the owner withgit init
. - Install dependencies:
Navigate to both the server and client directories and install dependencies:
# In the server directory cd server npm install # In the client directory cd client npm install
- To setup the database:
- In a different terminal window go to the psql terminal with the comand
psql
and create a newdatabase withcreatedb gameshelf
- Use the provided db.sql file to set up your database schema with the command
psql -d blogs -f path/to/db.sql
- Inside your server directory create a
.env
file and copy there the values that are in.envexample
making sure to change them to your own information. Be sure to update the OPENAI_API_KEY in this file to your API key.
To run the program in your localhost browser, navigate to your server folder (cd server
) and run the command node server.js
to run your server.
The client should now be running on http://localhost:5173
.
Then navigate to your client folder (cd client
) and run the command npm run dev
and click on the link to view the application in browser.
The server should now be running on http://localhost:8080
.
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcomed.
- AI-based game recommendations
- Multiple lists to add games to (“Favorites,” “Wishlist,” “Currently Playing”)
- Can add other users as “friends” and view their profiles
- Game specific discussion boards or communities
- User authentication
- User badges/achievements
- Mobile app