Star Wars Character Sheets

See it live Here!

Project Description

This project is based on Star Wars roleplaying game from fantasy flight games(Source). This eliminates the use of pencil and paper from play sessions, and you'll be able to digitize your character sheets and bring them anywhere you go. This is largely beneficial for sessions that rotate between remote sessions and in-person sessions.

Think Dungeons & Dragons character sheets, but translated for the use in Star Wars RPG.

Collaborators

Davis Nguyen | Grace Narez

Tech Stacks

  • MongoDb
  • Express.js
  • React
  • Node.js

RESTful Routing Chart

RESTful routing chart

Installation Instructions

  1. Fork and clone this repo along with the backend server
  2. Run npm i to install all dependencies for both the server and client side.
  3. Create a .env.local file in the client side. Add a REACT_APP_SERVER_URL environment variable into that file. This is our local server URL.
  4. Create a .env file in the server side. Add a JWT_SECRET environment variable to this file.
  5. Run npm start in the client and nodemon in the server side to get the app running.

Approach

We began this project by planning a rough MVP and user stories, while also brainstorming possible stretch goals that we could work on once the basic functionality was completed. This brainstorming aided in the easy implementation of the backend and how the data would be stored with the user in mind.

To keep each other on track throughout the week, we stayed in communication and utilized live share to do paired coding during work times.

After the planning, we began working on the backend starting with the database schemas and code to hangle requests from the client. After completing and testing all routes and schemas through postman and confirming functionality, we started on the frontend.

Starting with as basic functionality as we could. We added CRUD functionality to all necessary components. After this, we were able to soley work on styling and small bug fixes and tweaks.

Wireframes

==>

Login/Home Page Register Page Profile/Characters Page Characters Stats Character Info General Skills Combat Skills Knowledge Skills Custom Skills Weapons Crit Injuries Force Powers Talents Inventory Armor Cybernetics Tools Notes

User Stories

  • As a user, I want to be able to log in and out while keeping characters saved
  • As a user, I want to be able to create multiple characters
  • As a user, I want to be able to build my skills
  • As a user, I want to take notes
  • As a user, I want to keep track of all my stats
  • As a user, I should be able to choose my careers
  • As a user, I want to be able to save character instances
  • As a user, I want to have the ability to complete full CRUD on characters

Goals

MVP

  • Create back-end for character sheet saving
  • Create account and delete account
  • Create user log-in and log-out
  • Create page 1 (Character name, desc, motivations, stats)
  • Create page 2 (Careers & skills)
  • Create page 3 (Combat)
  • Create page 4 (Inventory)
  • Create page 5 (Notes)
  • Style character sheets

Stretch

  • Allow user to change color schemes (light side, or dark side)
  • Dice rolling
  • Make it for mobile

Potential Roadblocks

  • No forseeable potential roadblocks at this time.

Hurdles

  • Handling all components without getting lost or losing code
  • Functionality for nested embedded references in backend schemas