Skip to content

Stegnerd/vgtracker

Repository files navigation

VGTracker

Go Vue Bun

Table of Contents

About

This is a project of mine to keep track of my video games and get some practice with Vue! I will implement features as I think of them

Setup

Live Development

  • Install Bun - homebrew is fine
    • when you need to add a new depedency, use bun add
  • Install Go - homebrew is fine
  • install Golang-Migrate
      • make sure that you install via toolchain with the tag "sqlite3" and NOT homebrew
  • Install Wails
  • run wails dev - this will run go mod tidy, install frontend dependencies, and db migrations
    • This will run a Vite development server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser and have access to your Go methods, there is also a dev server that runs on http://localhost:34115. Connect to this in your browser, and you can call your Go code from devtools.
  • Set up your own twitch account for igdb access
    • this is needed for igdb api access and you need to supply your own api creds, not going to share mine!
  • To enable syncing with steam you will need to sign up for a steam api key here

Building

To build a redistributable, production mode package, use wails build. You can also grab a build from the releases page
here. Currently only Linux and macos are supported. I have no windows devices to test and I don't support windows os.
I also am not signing builds, not going to pay for that but thats a talk for a different time! You can get around that with here.

Migrations

  • install Mage (do not need to do mage init here)
  • install Golang-Migrate -
    • make sure that you install via toolchain with the tag "sqlite3" and NOT homebrew
    • you will now if you did it wrong if you see the error: "Unknown Driver"
  • To make a new migration run mage MigrateCreate <name of migration> and you should see it in internal/db/migration
  • To run migrations up mage DB:MigrateUp
  • To run migrations down mage DB:MigrateDown

Architecture

Technologies

Roadmap

todos

  • double check codegen works between time.Time and frontend
  • look into making the theme composable more stream lined/pinia?
  • more unit test coverage
  • keyboard short cuts (vueUse?)
  • migrating syncing logic to pinia with eventing to show incremental updates that way we can navigate to another page and still show progress
  • pagination of the table instead of virtual scroll (loads them all at once and it sucks on performance)

v1

  • able to save backlog stats
  • analytics dashboard for stats
  • wishlist/ list making
  • e2e with playwright
  • steam syncing

cool ideas

  • image recognition of game covers to add to backlog
  • ability to sync psn/xbox/steam to pull in your digital libraries
    • not sure how to check nintendo library
  • auto updating?
  • mage commands for running lint and tests for frontend and backend

Sources

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published