Giter VIP home page Giter VIP logo

triumph-tracker-service's Introduction

Deploy triumph-tracker Container

triumph-tracker-service

Notes:

Build fails because of github wheels cache weirdness. Code is working, and latest container should work just fine.

local docker

This is local, without vscode, ready to serve.

  • docker build -t ghcr.io/hanzov69/triumph-tracker:aiotest .
  • docker run -p 8000:8000 ghcr.io/hanzov69/triumph-tracker:aiotest
  • open http://127.0.0.1:8000
  • exec in to container, set API_KEY env, update manifest/clan_data

devel docker

  • To run/test this on your local environment, the easiest way is with vscode. Launch vscode and re-open in remote.
  • Devcontainer will install requirements.txt automagically, but if this changes you may need to rebuild the container
  • This includes node v18 and the live-css-editor server
  • once launched, in terminal run API_KEY="yourbungieykey" && export API_KEY
  • build manifest and player data
    • cd ~/docker/app/backend
    • python manifest-destiny.py this will grab the latest Bungie manifest
    • python triumph-tracker.py this will build the clan_data.sqlite3 db
  • from ~/docker/app/frontend run flask run This will start the app on http://127.0.0.1:5000
  • For CSS editing in live, launch second terminal, go to ./docker/app/frontend/static and run live-css
    • on localhost page, launch extension, click "file" select triumph-tracker.css and you can live edit

kube/argo

  • make sure to define API_KEY correctly in the Secret yaml (will change in the future to do a value subst in argo)
  • this will create the secret and expose it as a env var

Todo Items

  • Moved everything off to Issues

triumph-tracker-service's People

Contributors

hanzov69 avatar m9brady avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

triumph-tracker-service's Issues

Error messages on Web interface

Show errors for common issues (couldn't retrieve manifest, missing API_KEY, etc). Currently application just (sometimes) throws 503s

Raid handling - remove hardcode

Currently, raids are hardcoded. This means a code change to support old/new raids. Ideally this would be either configurable (db store) or "get all raids"

Get all might be the easiest, but is the most processing expensive

Progressive Web App?

Might be nice to create a PWA of the site, remove some server load and make it more "responsive" for users

Discord Integration?

If this were integrated in to discord, what would that look like? What value does it offer?

Table Sorting

Allow users to "sort" the rendered table to cluster complete/incomplete achievements together.

Will like require rewrite of table generation, so tied to #1

CI/CD - Incorporate versioning

Currently CI is just everything straight to docker artifact as latest. This is fine for now, but long term no "great". Should add tagging of container builds and ability to do releases from CI

CI/CD - Development branch?

currently development builds are pushed to ghcr manually. Would it be useful to do builds against development

Caching ajax results

Speed up render to eliminate constant calls to backend, might be part of PWA or in lieu of

Github CI fails

Currently failing due to missing gcc. Adding this APK doesn't solve the issue, as pip attempts to build wheels but fails in github. Local builds work correctly,

Is has been discussed here:
actions/runner-images#803

There are some workarounds, but it's currently a PITA

Helm chart creation

Currently a straight yaml is provided for kube/podman deployment, but this isn't really great with ArgoCD or as an easy distribution method. Create an honest helm chart

Incorporate argocd-vault-plugin to helm chart

(My) ArgoCD is configured with AVP to leverage replacing charts values with data from (my) vault. Currently, BUNGIE_API_KEY is kept in secrets, and the secrets.yaml must be out of sync within Argo (lest it be overwritten with dummy REPLACE ME type values).

Improve upon chart experience by supporting Argo secrets, esp. Vault

Blocked by #30

Raid Helpers

Add raid "helper" pages. EG for Vow, create page that allows you to enter the symbols for the chest, creates a list of which symbols to shoot. Provide a symbol reference table, etc.

If take on, this will need sub-tasks

Mobile Rendering

Currently the site does not support mobile/touch interface. This is a stub for the effort required to make this happen. Possible a

Bootstrap sqlite3 DBs on fresh instance

Currently, the system will come up "empty" on a redeploy due to missing sqlite DBs.

Need think about how to ensure this exists as part of the docker entrypoint

Public Release?

This is a bigger discussion item

  • Do we want to release as a public repository at some point?
  • What features/functionality will definite it as "ready" if we do?
  • What license would it be released under?

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.