Coder Social home page Coder Social logo

dcaslin / d2-checklist Goto Github PK

View Code? Open in Web Editor NEW
91.0 4.0 22.0 736.68 MB

Source for www.d2checklist.com, written in Angular and using the Bungie API

Home Page: https://www.d2checklist.com/

License: MIT License

Batchfile 0.01% HTML 28.48% TypeScript 61.24% JavaScript 0.31% CSS 0.12% Dockerfile 0.03% SCSS 9.81%
destiny bungie angular angular-material

d2-checklist's Introduction

README

What is this repository for?

How do I get set up?

Register a new app with Bungie

In order to run the server, you will need to create an application using the Bungie Application Portal. When creating the application, do the following:

  • Application Name can be whatever you want
  • Website can be left blank
  • Application Status can be Private
  • OAuth Client type should be Confidential
  • Redirect URL should be https://localhost:4200/auth (for running in Development mode).
  • Check all the boxes for scope except "Administrate groups and clans..." (that's not needed, checking it won't hurt though)

Setup the Angular app

  • Install node and npm and the Angular CLI (cli.angular.io)

  • Clone this repository

  • Setup a keys.ts file to match keys.example.ts (Visit https://www.bungie.net/en/Application and setup a )

  • npm install

  • run ./serve.bat (Windows) or ./serve.sh (Mac or *nix)

  • Visit https://localhost:4200 (ignore the cert error)

Contribution guidelines

  • If you want to contribute, let me know (or submit a pull request)
  • This application uses FontAwesome Pro's private repo, so running your own development environment requires stubbing those out. This can be a pain.

Notes

As of 07/24/2020:

  • Local development can be done on https://localhost:4200 using included pre-gen certs (no web server or hacked domain required)
  • Production build and deployments are done via GitHub Actions triggered on pushes to master
  • NPM (not Yarn) is the expected package manager
  • We're upgraded to Angular 9.1

d2-checklist's People

Contributors

amytho avatar awy64 avatar c0m3d1an avatar continentaldivide avatar darkelement1987 avatar dcaslin avatar dkovacevic15 avatar sgtlaggy avatar treetop24 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

d2-checklist's Issues

Reorganize gear mgr buttons, add under "More Options" ellipsis

Too many buttons at the root of the gear manager. Create a new vertical ellipsis button near the "Refresh" Button. Move the following under it.

  • "Show" (to control the number of rows shown)
  • Sync Locks
  • Shard Mode
  • Cheap Upgrade Mode
  • Show Armor Perks
  • Copy Visible (from #4)
  • Settings (remaining info from "Utilities" button after moving Shard/Cheap/Sync locks modes)

Show hidden and zero point triumphs in "Search" and "Tracked"

Currently zero point and invisible triumphs are default hidden, even on pages with wildcard searching or that are tracked. This makes the Service Revolvers "Completions" triumph (which is Season 6 and zero pts) much too hard to find.

Search and Tracked should ignore the "hide" flags.

Expand target armor perks to handle things like "Light Reactor"

This would require a mapping file of perks. (Perhaps a regex of Perk names that maps to weapon types, rather than the loose matching by name match we have now)

Bow->Combat Bow

!Linear+Fusion Rifle-> Fusion Rifle
Light Reactor-> Fusion Rifle

etc

[No, I don't have regex memorized, that's what Google is for]

We could also add melee, grenade, super, and ability filters perhaps if this were done.

Timb0uton ideas

To sort out later:

  • Season specific triumph tab or filter (just the current season) so that in just a couple clicks you could find every triumphs you're missing for the current season.

  • on the friends and clan pages, display the triumph score for everyone.

  • A more in depth idea for that would be a "featured" triumph tab display all the triumphs that are obtainable currently but limited in time (ex : NF specific, IB, event, season, daily, etc...), but that'd need quite some work...

Enhance "Recent Teammates" screen

Currently Recent Teammates UI is a copy of the "match search" UI, where searches are done per character, not per account. This feature makes more sense as an account wide search. Users also use this to see if their clan members are participating with each other. So:

  • Remove the character toggles and instead make all searches per account (effectively searches up to 3 times, one per char, when a search is done)

  • Add a visual report somewhere that shows

  1. The # of games played with at least one clanmate

  2. The most recent game played with at least one clanmate

[Note: Double check how expensive it is to check clan membership from a PGCR, if it is expensive make sure to cache clan memberships during query]

Firefox Gear Not Loading

As of around a week ago, D2Checklist will no longer load in Firefox. On attempting to access the gear page, we get the minified error:

ERROR Error: "[object Object]" E https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 E https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 R https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 invokeTask https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 onInvokeTask https://www.d2checklist.com/main.9a441e523718854f0a95.js:1 invokeTask https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 runTask https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 v https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 invokeTask https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 y https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1 b https://www.d2checklist.com/polyfills.86cae2b94ad943dfc2f5.js:1

It seems rather unlikely the a polyfill would be crashing here, but I suppose it is possible. The gear page itself does not show any content, and the page sets the route to www.d2checklist.com/home.

Badges

Build them into the collections screen, in a perfect world also hot link to them from associated Triumphs

Support mulit-item reddit copy/paste at https://www.d2checklist.com/gear

Currently you can copy a single item in MarkDown format, to easily paste it's perks to reddit:

image

Add a new button to the top of the list that will copy all items matching the current filter to the clipboard (limited to a max of X b/c we don't want to spam up someone's clipboard with 400 items, do we?)

X = 20 for now

Filter gear by tag rather than string match

Currently filtering is a simple string match. Filtering by individual queries works great but something like "godroll bow" won't work. String matches should be tokenized.

Show complete triumphs as 100%

In searchable/tracked triumphs there can be a weird state (like on "Superstar") where a completed triumph shows 0%. Instead force it to 100%.

Custom track triumphs

Allow users to mark a triumph, probably from the "search" tab as tracked and show it in a new "Tracked" tab at the end.

Handle postmaster items in gear mgr

Post master items should be ignored in the Gear Mgr (folks can use DIM or something else for that if they want). Right now they're treated as normal items and get errors.

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.