GithubHelp home page GithubHelp logo

electrynth / legion-hq-2.0 Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 2.0 27.27 MB

Unofficial tool and resource for Star Wars: Legion

Home Page: https://legion-hq.herokuapp.com

HTML 4.65% JavaScript 92.43% Python 2.92%
reactjs nodejs material-ui starwars legion

legion-hq-2.0's Introduction

Legion HQ

Legion HQ is a web-based tool and resource for Fantasy Flight Games: Star Wars: Legion. Legion HQ 2.0 is the improved version of the Legion HQ. Beta version: https://d37xhki8rk4762.cloudfront.net/

Current Major Features

In progress
  • Fifth Trooper Redesign
  • General Code Refactor
  • Repo Reorganization
Recently finished
  • User authentication & list saving/forking

List Builder

Users can build lists in standard 800-point format, 1600-point grand army format, and Imperial Discipline's 500-point format.

Planned Major Features

Rough roadmap of features being worked on

Tournament Organizer

Feature for Tournament Organizers (T.O.'s) to organize events.

  • Participants use Legion HQ to build lists and submit them to an event
  • Participants submit round results and the software determines next pairing
  • Requirements still being gathered...

Tournament Data Analyzer

Feature built off the Organizer feature that aggregates data for analysis

  • Users can query, view, or export data from events

Card Database

Static pages for each card in the game with various data related to the card:

  • Point changes and errata for the card
  • Products the card can be acquired in
  • Average number of hits, if applicable
  • Links to articles from various blogs about the card
  • Related cards

Inventory Manager

Interface for users to input what products or individual cards they own

  • Hooks into the list builder to give feedback on what lists can be constructed from collection

List Rater & Database

Users can publish and share lists they create

  • View and rate lists on creativity, fun, competitiveness
  • Give feedback in the form of comments

Soundboard

Feature where user can push buttons to replay sound bytes from Star Wars media

Custom Card Creator

Feature where user can create a custom unit, upgrade, or command card.

Custom Card Rater & Database

Users can view custom cards made by other players.

  • Give ratings on creativity, design, or balance
  • Give feedback in the form of comments

Mobile & Desktop App

Mobile and desktop apps can be built using a shared codebase with React Native.

  • Allows users to use Legion HQ while offline

Hobby & Crafts Section

Basically a page where people can upload/link images related to a specific unit, theme, or category

  • Themes would be like Hoth, Felucia, Mustafar, forest, etc.
  • Category would be terrain, bases, miniatures, and storage, etc.
  • Primary purpose is for inspiration
  • Maybe a rating system at some point

List Analysis

Page where all lists in the database are analyzed and possible a recommendation system when builing a list.

Planned Improvements

Fifth Trooper Redesign

Work In Progress

Repo Reorganization

Legion HQ will be split into a few different repos.

  • Legion-hq-web: Contains all frontend code
  • Legion-hq-api: Contains all APIs
  • Legion-hq-cards: Small web app for rendering a static page for any card
  • Legion-hq-assets: Repo will all other static assets like images, logos, JSON

General Code Refactor

Code is currently very messy, not maintainable, and not easy to contribute to.

  • Decouple app logic and UI logic
  • Reduce number of lines in each js file for readability
  • more...

Improvements Over 1.0

  • Addition of Republic and Separatists factions

  • Serialization of list for sharing URL on social media

  • Major redesign of user interface with a focus on mobile browsers

  • Moderate code refactor (web bundle size of ~780kb -> ~280kb)

  • Use of route-based code splitting to decrease initial load time (fully loaded time: 3s -> 1.5s)

  • Legion HQ 1.0 Desktop Stats: Screenshot

  • Legion HQ 2.0 Desktop Stats: Screenshot

  • Legion HQ 1.0 Mobile Stats: Screenshot

  • Legion HQ 2.0 Mobile Stats: Screenshot

Technology

Legion HQ's frontend is built in React using Facebook's create-react-app and currently resides in Heroku. The backend database is hosted in MongoDB Atlas and the backend APIs are hosted on a Lightsail instance.

Planned Technological Improvements

  • Frontend will be served on Amazon S3 buckets behind Cloudfront
  • Backend API's will be on Amazon's Lambda functions behind API Gateway
  • Frontend and Backend will (probably) be rewritten using Typescript

legion-hq-2.0's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

tarmann bumbum228

legion-hq-2.0's Issues

Support for full card image print

This one may be slightly on the side of IP infringement may not be possible. I run and host Legion games for new people very regularly. I have all the cards and do my best to make sure I have them laid out and ready for the players I am teaching. Having a method of printing a list including the full card art for each card would be great as this would allow me to keep a library of lists with my four boxes of armies at the shop and just pul the list and the minis and be ready to go without reorganizing the cards depending on what the person wanted to play.

This could also be useful for home or casual players to limit what they need to bring to friends houses etc.

Adding multiple units in the same window

Clicking on a unit when adding one should not close the entire window, user should be able to add as many as they want; they just have to click the close button to exit out from the window.

Create better way to add new cards

operations.py sucks. would be ideal to have a whole new tab where people can create custom cards and where people (me) can add official cards

Database migration

Transfer all lists in the database for the 1.0 builder to a new database

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.