TableTop Tracker helps table top gamers keep track of the games they have, the games they want, and games they need but don't know about yet. Users can create collections of games and add games to custom collections. If the user is itching for something new, they can talk to an AI-powered chatbot that will recommend games based on their preferences. 🤖
- Git clone the project's repository from GitHub to your local device.
- In your CLI, cd to the TableTopTracker directory and run "npm run start".
- In your CLI, cd to the Server directory and run "npm run server-dev".
- React Router
- React Native
- Javascript
- PostgreSQL
- Node / Express
- OpenAI — API
- BoardGameGeek — API
- FireBase/FireStore — Authentication
- React Native Paper
- Good ol' vanilla CSS
- Make your own branch 🌿
- Before committing, make sure to pull from main to get the most up-to-date repository 🔄
- Commit and push to the branch every time there is progress without any errors (after every feature is done) ✅
- After submitting pull request, ask for approval from one other team member before merging into the main branch 👥
- CD into TableTopTracker Directory
- npx install yarn or brew install yarn
- yarn install
- npx expo start (should see a QR code)
- To open on the web, enter 'w' after the expo start runs.
- Download the expo go app on your phone and create an account
- Scan the QR code that appears after running npx expo start
// cd into /Server
// run the following to create a postgresql database:
> createdb tableTopGamers
// create .env in /server with the following
.env---------------------
DB_NAME=tableTopGamers
-------------------------
// create tables in db
// from /server run:
> psql -U [YOUR DB USERNAME] -d tableTopGamers -a -f database/schemaReset.sql
// from /server run:
> node database/seedMockData.js
> update: if you'd like some live data, run database/schemaReset.sql as above,
uncomment the initializer.populateBoardGames() in index.js on line 18 and start
up the server again. as of right now it only runs through the first 9 entries
of the board games list. You can modify populate.js to run through 500 games,
but do so at your own risk, I'm quite sure there are still a few bugs that need fixing.
API END-POINTS
PORT=3000
fetch user collections
GET /collections?userId=[USER_ID]
- Query Paramaters = userId
fetch collection games GET /collections/:collectionId
- Req Paramaters = collectionId