TTRPG Tracker is an app to keep track of your tabletop RPG book collection. As a user you can view books, add books to your collection, remove books from your collection, add new books to your collection, edit and delete books in your collection, sort the books, and add and delete comments on a book's page.
Installation
- Fork and Clone this Repo
- Install the necessary dependencies by copying the code below (or see dependencies to install individually):
npm i @popperjs/core bcryptjs connect-mongo dotenv express express-session liquid-express-views method-override mongoose morgan serve-favicon
- run
npm seed
to seed the database fromseed.js
- run
npm start
and go tolocalhost:3000
in your browser to view
Dependencies
- @Popper JS/Core
npm i @popperjs/core
- Bcrypt
npm i bcrypt
- Connect-Mongo
npm i connect-mongo
- Dotenv
npm i dotenv
- Express
npm i express
- Express-Session
npm i express-session
- Liquid-Express-Views
npm i liquid-express-views
- Method-Override
npm i method-override
- Mongoose
npm i mongoose
- Morgan
npm i morgan
- Serve-Favicon
npm i serve-favicon
How to Add a Game to My Games
- Click the + button on the All Games Page on the game you wish to add
- Go to My Games and you will see the game in your personal collection
How to Add a New Game
- Click Add New Game in the Navbar
- Fill in the fields on the New Game page
- Click the Add New Game button at the bottom of the page
- Go to My Games and you will see the game in your personal collection
- *The game will appear for only you (if you are the one who added it) on your My Games page
How to Edit a Game
- Go to My Games and click the View button on the game you wish to edit
- Click the Edit Button in the bottom left corner under the image
- Fill in the fields on the Edit Page
- Click the Edit Game Button at the bottom of the page
- The updated version of the game will appear on your My Games Page
How to Delete a Game
- Go to My Games and click the View button on the game you wish to delete
- Click the Delete Button in the bottom left corner under the image
- The game will be deleted from your My Games Page
- If you added the game via Add New Game, the version only exists on your My Games page and will be deleted
- If you wish to add a new game you created again, use the Add New Game in the navbar
- Otherwise, click the + button if the game already exists in the app to add it back to your collection
How to Sort
- In the Navbar, click System, Genres or Game Type to sort by the categories
- A dropdown will appear, allowing you to select sub-categories, which will bring you to the sorted page once clicked
How to Add a Comment
- Click the view button on the game you wish to add a comment to
- Once on the game page, type your comment in the Comment form in the lower right of the page
- Click the Add Comment button to add your comment to the page
- Your comment and other user's comments will appear below the form on the page
How to Delete a Comment
- Click the view button on the game where you wish to delete a comment
- If you added the comment, you will see an X in the upper right of the comment
- Click the X to delete the comment
- Your comment will be deleted
Comment
Verb | URI Pattern | Controller#Action |
---|---|---|
POST | /games/:gameId |
games#gameId |
DELETE | /games//delete/:gameId/:commId |
games#delete#gameId#commId |
Games
Verb | URI Pattern | Controller#Action |
---|---|---|
GET | / |
games# |
GET | /coyoteandcrow |
games#/coyoteandcrow |
GET | /dnd |
games#dnd |
GET | /fitd |
games#fitd |
GET | /forgediniron |
games#forgediniron |
GET | /osr |
games#osr |
GET | /pbta |
games#pbta |
GET | /stellarremnants |
games#stellarremnants |
GET | /cyberpunk |
games#cyberpunk |
GET | /fantasy |
games#fantasy |
GET | /darkfantasy |
games#darkfantasy |
GET | /scifi |
games#scifi |
GET | /sciencefantasy |
games#sciencefantasy |
GET | /steampunk |
games#steampunk |
GET | /urbanfantasy |
games#urbanfantasy |
GET | /genreagnostic |
games#genreagnostic |
GET | /gm |
games#gm |
GET | /gmless |
games#gmless |
GET | /solo |
games#solo |
GET | /mine |
games#mine |
GET | /new |
games#new |
POST | / |
games# |
POST | /newfave |
games#newfave |
GET | /:id/edit |
games#:id#edit |
PUT | /:id |
games#:id# |
GET | /:id |
games#:id# |
DELETE | /:id |
games#:id# |
Home
Verb | URI Pattern | Controller#Action |
---|---|---|
GET | / |
/ |
User
Verb | URI Pattern | Controller#Action |
---|---|---|
POST | /auth/signup |
users#signup |
POST | /auth/login |
users#login |
DELETE | /auth/logout |
users#logout |
- As a user they want to be able to be able to add items they own to a collection
- They want be able to see what books they have in their collection
- They want to be able to add new books to their collection
- They want to be able to delete books from their collection
- They want to be able to sort the books by name, genre, system, creator, type etc.
- Remove Auth requirements for Index and Show Routes
- Add more books to database
- Add ability for users to add games for all users to see, not just their collection
- Refactor with separate API and Client