Giter Club home page Giter Club logo

rscottlundgren / index-client Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 12.52 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 Front End Development/Production Version of Project 2 for General Assembly's Software Engineering Immersive Program

Home Page: https://rscottlundgren.github.io/index-client/

License: Other

JavaScript 44.50% CSS 1.55% HTML 52.25% Shell 1.70%

index-client's Introduction

"Critical Index" - Front 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 Front 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 Technologies Used

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

Planning

Project 2 was considerably more open ended in scope than the prior project ("Tic-Tac-Toe"). Ultimately I struggled and weighed the options between three apps that I had designs for (all tumbling around in my brain space) and landed on "Critical Index". After spending some time writing out some ideas of what I, as a developer, wanted out of this site, I began the process of designing the site. The first version would rely heavily on the development of a character generator. This feature would help to inform the following features that I had in mind for the site. With that in mind, I wireframed out the site until I had a good direction to head in. These wireframes were also heavily informed by the Dungeons & Dragons 3.5e character sheet (linked below).

Once wireframed, I began the process of building out the backend API (those experiences can be found documented in that specific repo). Once the back-end API was "finished" I began working on the client-side application. In the initial testing phase I borrowed heavily from my first project, specifically from the code that I had originally built that would allow me to test authentication. With that successfully tested, I built out the remaining functions required in this project (specifically, create a character, update a character, show all characters, show one character, delete a character). Once those forms were "built" and tested, I had MVP in the best sense (black lines on a white page, ya'll!).

I reached out for guidance on how to move forward with building out the API and while I waited for a response, I began making all of the aesthetic changes that I wanted so the app would come off as more professional and presentation ready. This meant reformatting/rebuilding the forms, redesigning the buttons, creating inline forms, and a host of other changes. At this stage, what helped the most was the documentation provided by Bootstrap. In the first project I wanted to do what I wanted to do and spent a good amount of time fighting with Bootstrap and ignoring the documentation. This time, I read what seemed relevant in the documentation and it made all the difference - this time it was much less of a fight and more of a coaxing experience.

Post-presentation during resubmission there were no major hiccups. Considerations for UI improvement include the use of modals (which seem to be extremely popular) and expanding my repertoire of jQuery click events. This probably speaks to who I am as a person when the pressure's on: I'd rather trust what I know than experiment with what I don't (understandable when you only have four days to complete a project).

Overall, I hope that everyone enjoys this project and I look forward on further developing it into a version 2 and beyond.

Challenges

The biggest challenge for me at this stage was probably scoping coupled with concern over making sure that my API was utilizing tables in a manner that made sense. I'll cover the latter more in the README for that repo. With the former, as in the first project, I dreamed rather big. This became a concept that will take me far beyond the three-month attendance in this course and it's a project that, while it could be done alone, would also make more sense to do in collaboration with others. With that in mind, I had to figure out what part of this project would be the smallest, most useful piece to code as a submission. It ultimately came down to the smallest piece I could think of, which is the character generator, but even that was a mountain of a task, so breaking that down into bite-sized bits was a challenge. Ultimately, as a result of this exercise, I realized the importance of scoping to the smallest milestones that you can come up with and planning those out in a way that makes the most sense from a timeline perspective (with only the information that I have at the time).

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 Rosenberger
  • Nick Solie
  • Randy Dorgan-Lundgren
  • Rick Wilcoxen
  • Ross Northrop
  • Ryry Tillman-French
  • Tal Aharon
  • Thanh "T" Nguyen
  • Trey Hilson
  • Youri Francois

index-client's People

Contributors

rscottlundgren avatar dependabot[bot] avatar

Watchers

 avatar

index-client's Issues

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 wireframes and user stories.

Adjust "Change Password" Click Event

Presently you cannot close the "Change Password" form unless you changed your password successfully. This should be changed to an event like "mouse away", "toggle", or some other variation.

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

Idea

How about the ability for a dm to upload a map for their players to see?

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.