Skip to content

"Critical Index" is a SaaS Whose Main Purpose is to Serve as an Assistive Compendium in Both Running and Participating in RPG/Tabletop Gaming. This is the Back End Development/Production Version of Project 2 for General Assembly's Software Engineering Immersive Program

License

Notifications You must be signed in to change notification settings

rscottlundgren/index-api

Repository files navigation

"Critical Index" - Back End - v1

Description

"Critical Index" is a SaaS Whose Main Purpose is to Serve as an Assistive Compendium in Both Running and Participating in RPG/Tabletop Gaming. This is the Back End Development/Production Version of Project 2 for General Assembly's Software Engineering Immersive Program

Relevant Links

Full-Stack: Link To: URL:
Front-End Website https://rscottlundgren.github.io/index-client/
-------------- ------------- ---------------------------------------------------
Front-End GitHub Repo https://github.com/rscottlundgren/index-client
-------------- ------------- ---------------------------------------------------
Back-End Website https://critical-index.herokuapp.com/
-------------- ------------- ---------------------------------------------------
Back-End GitHub Repo https://github.com/rscottlundgren/index-api

List of Full Stack Technologies Used

  • Browser template
  • Custom-Built API
  • Ruby
  • Rails
  • JavaScript
  • HTML
  • CSS/SASS
  • Ajax/jQuery
  • Curl
  • Bootstrap
  • Flexbox
  • Handlebars

Planning

The hardest part of the planning and execution part of the back-end was definitely the planning. While I did run into one hiccup that was the result of a misunderstanding about how adding one table to another worked (thank you, Chris, for your analogy re: tagging), over all the execution of the back end was pretty easy. What I found most challenging about the planning process was the initial experience of mapping out the tables. What I came to learn, after battling a not insignificant bout of "analysis paralysis" was that I had to become ok with not getting it perfect on the first round. Once I came to that realization it became a lot easier to go forward.

Truth be told, I really only touched the back-end the first couple of days that I worked on the project. After that, everything was focused on working on the front end. Now that the presentation is over and I'm starting to dive back into the project for version 2, I kind of wish that I had been more aggressive about testing and working in the back end more frequently. That is to say, I wish that I had taken more risks with regard to using trial and error on the back-end as I created all of my tables.

Version 2 will be different but for the purposes of Version 1 I think that learning from my experience of analysis paralysis and how I feel having spent more than a week from working in Rails that greater repetition and getting more comfortable in the Rails environment would be helpful to me in the long run.

Challenges

I already spoke about it but getting stuck in analysis paralysis was really the biggest challenge. Perfectionism is hard and we're all our own worst critic, but I think that having had the experience (twice now from each project) of letting that get the best of me has been enlightening. I definitely felt like I could tell, quicker, that I was getting stuck in that proverbial downward spiral and that I needed to pull out of it.

Unsolved Problems

  • HTML still displays linter errors and there are a couple other in other locations which need to be addressed.
  • There are 3 warning linter errors that are bugging me (harharhar) which I would like to resolve.
  • Generally, the next step/unsolved problem would be planning out the next table that would join the present ones in a way that makes sense for both present and future use.

Future Goals

  • Map Feature: Ability for DMs to map out their adventures for easier combat and adventure visualization.

  • DM/PC Campaign Link: Ability for DMs to link players to a campaign.

  • Campaign Library: Ability for DMs to post and PCs to access a library of materials relevant to the world/campaign they are playing within.

  • PC Journal: Ability for players to journal about each adventure experience in their PCs profile for better adventure/campaign cohesion.

  • DM/PC Read-Only Access: PCs should have read-only access to the Library and to select DM notes for better world building/imagination of the world. DMs should have edit access to the players character sheets for updating throughout each adventure and read-only access to the PCs journal (dependent upon player's choice).

  • TBD: TBD

    • TBD
  • Easter Eggs: Build in 'Easter Egg' features like the following:

    • TBD

Wireframes

User Stories

  • As an unregistered user, I would like to be able to sign-up with email, password, and password confirmation.
  • As a registered user, I would like to be able to sign-in with email and password.
  • As a registered user, I would like to be able to create a character with stats that I provide.
  • As a registered user, I would like to see the character I have created after I have submitted my input.
  • As a registered user, I would like to be able to update my character with stats that I provide.
  • As a registered user, I would like to see the updates that I have made to my character after I have submitted my input.
  • As a registered user, I would like to be able to see all of my characters by pushing a button.
  • As a registered user, I would like to be able to see only one of my characters by entering that character ID and pushing a button.
  • As a registered user, I would like to be able to delete a character by pushing a button on that character sheet/card.
  • As a registered user, I would like to be able to sign out and return to the home page.

Special Thanks

A special thank you goes out to the following people (in no particular, yet alphabetical by first name, order):

  • Alex Beers
  • Angelique Marquina
  • Ben Jenkins
  • Brandon DePalmaFarr
  • Brian Dorgan
  • Chris Kennelly
  • Dan Powers
  • Eron Salling
  • Esat Ozen
  • Frank Luis-Ravelo
  • Hannah See
  • Jeffrey Springwater
  • Jennifer Payano
  • John Lucker
  • Kane Two Feathers
  • Ladybug Dorgan-Lundgren
  • Liz Cramer Fox
  • Matt Siperko
  • Megan Tsai
  • Mike Finneran
  • Mike Tripp
  • Murat Alayurt
  • Naida Rosenberg
  • Nick Solie
  • Randy Dorgan-Lundgren
  • Rick Wilcoxen
  • Ross Northrop
  • Ryry Tillman-French
  • Tal Aharon
  • Thanh "T" Nguyen
  • Trey Hilson
  • Youri Francois

About

"Critical Index" is a SaaS Whose Main Purpose is to Serve as an Assistive Compendium in Both Running and Participating in RPG/Tabletop Gaming. This is the Back End Development/Production Version of Project 2 for General Assembly's Software Engineering Immersive Program

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published