Skip to content

an app to keep track of your ttrpg books [mongodb, express, liquid, node.js]

Notifications You must be signed in to change notification settings

steviemilitello/ttrpg-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

56 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎲 TTRPG TRACKER 🎲

πŸ“š Description

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.

βš›οΈ Getting Started

πŸ“² Install Instructions

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 from seed.js
  • run npm start and go to localhost:3000 in your browser to view

Dependencies

πŸ“² How To Use

How to Add a Game to My Games

  1. Click the + button on the All Games Page on the game you wish to add
  2. Go to My Games and you will see the game in your personal collection

How to Add a New Game

  1. Click Add New Game in the Navbar
  2. Fill in the fields on the New Game page
  3. Click the Add New Game button at the bottom of the page
  4. Go to My Games and you will see the game in your personal collection
  5. *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

  1. Go to My Games and click the View button on the game you wish to edit
  2. Click the Edit Button in the bottom left corner under the image
  3. Fill in the fields on the Edit Page
  4. Click the Edit Game Button at the bottom of the page
  5. The updated version of the game will appear on your My Games Page

How to Delete a Game

  1. Go to My Games and click the View button on the game you wish to delete
  2. Click the Delete Button in the bottom left corner under the image
  3. The game will be deleted from your My Games Page
  4. If you added the game via Add New Game, the version only exists on your My Games page and will be deleted
  5. If you wish to add a new game you created again, use the Add New Game in the navbar
  6. Otherwise, click the + button if the game already exists in the app to add it back to your collection

How to Sort

  1. In the Navbar, click System, Genres or Game Type to sort by the categories
  2. 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

  1. Click the view button on the game you wish to add a comment to
  2. Once on the game page, type your comment in the Comment form in the lower right of the page
  3. Click the Add Comment button to add your comment to the page
  4. Your comment and other user's comments will appear below the form on the page

How to Delete a Comment

  1. Click the view button on the game where you wish to delete a comment
  2. If you added the comment, you will see an X in the upper right of the comment
  3. Click the X to delete the comment
  4. Your comment will be deleted

➑️ Routes

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

πŸ–ΌοΈ Screenshots

πŸ“Š ERD
Description Screenshot

ERD

🎨 Wireframes
Description Screenshot

Index Page

Show Page

βš™οΈ Functionality
Description Screenshot

Index Page

Show Page

πŸ‘€ User Story

  • 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.

πŸ’» Technologies Used

HTML5 CSS3 Bootstrap FontAwesome JavaScript NPM MongoDB ExpressJS LiquidJS NodeJS

⏩ Next Steps

  • 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

About

an app to keep track of your ttrpg books [mongodb, express, liquid, node.js]

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published