Giter Club home page Giter Club logo

rscottlundgren / index-api Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.58 MB

"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

Home Page: https://critical-index.herokuapp.com/

License: Other

Ruby 93.17% HTML 0.39% Shell 6.44%

index-api's Introduction

"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

index-api's People

Contributors

rscottlundgren avatar

Watchers

 avatar

index-api's Issues

Generate "Races" Table

Race Tables Are Immutable & Should Not Be Accessible To DM/PC

Notes:

  • Spell save bonus stored in individual spells; only applies when spell is used.
  • Skill bonus stored in skill table.
  • Bonuses against monsters are stored in individual monster table (or in a function that runs when the monster appears).
  • Save bonuses are stored in their respective catalysts.
  • Size bonuses are stored in a function that runs upon race selection.
race_name race_gen_desc race_phys_desc race_personality race_relations race_alignment race_location race_religion race_language race_male_name race_female_name race_family_name race_clan_name race_nickname race_adventurers race_trait_str race_trait_dex race_trait_con race_trait_int race_trait_wis race_trait_cha race_size race_speed race_automatic_languages race_pref_class race_low_light_vision race_dark_vision race_stonecunning race_elven_blood race_orc_blood race_cantrips
string text text text text text text text text text text text text text text integer integer integer integer integer integer string integer text string boolean boolean boolean boolean boolean boolean

Produce documentation in the form of a README

Some Notes:
[ ] List technologies used
[ ] List unsolved problems which would be fixed in future iterations.
[ ] Document your planning and tell a story about your development process and problem-solving strategy
[ ] Link to Entity Relationship Diagram (ERD).

DO NOT DO THESE THINGS!!!

Your app must not:
[ ] Delete your repository at any time or start over
[ ] Rely on refreshing the page for any functionality
[ ] Have any user-facing bugs
[ ] Display non-functional buttons, nor buttons that do not successfully complete a task
[ ] Show actions at inappropriate times (example: change password form when a user is not signed in)
[ ] Forms not clearing at appropriate times (example: sign up form not clearing after success)
[ ] Use alerts for anything
[ ] Display errors or warnings in the console
[ ] Display debugging messages in the console

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.