Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Improvement] - Update/Modernize Tabletop Circulation Web-App #4320

Open
seanmhanson opened this issue Feb 11, 2024 · 3 comments
Open

[Improvement] - Update/Modernize Tabletop Circulation Web-App #4320

seanmhanson opened this issue Feb 11, 2024 · 3 comments

Comments

@seanmhanson
Copy link

seanmhanson commented Feb 11, 2024

(hey there, friend of some of the tabletop staffers and web engineer with time on my hands)

Currently the web app used with tabletop circulation is several years old and has a UI that can frustrate people at times, including when there are high-volume check-ins/check-outs.

It might be nice to:

  • create a minimal node package under a new directory like static/client-apps
  • migrate the existing angular functionality to a react app (like one set up using nano-react-app to avoid boilerplate and unneeded deps)
  • add test coverage and test in any environments you all use, before removing references to the angular app

This could allow for:

  • using node packages for this can keep deps updated and secure
  • improvements/features could be easier to add and test at this point
  • mitigating issues impacting network connectivity if needed
  • making mobile usage more of a reality in an ideal world

If this sounds of interest, I am happy to throw you all an MR with some changes in isolation of the existing app, even if it just can be used piecemeal or something.

@kitsuta
Copy link
Member

kitsuta commented Feb 14, 2024

Hey Sean! Thanks so much for the detailed and well-thought-out new issues!

The tabletop checkins functionality is definitely in need of some TLC. Most of Ubersystem doesn't even use Angular — this feature being built on it was an experiment by the original maintainer, and I'd love to remove Angular entirely as a dependency.

This is probably not obvious from looking at this repo, but there are several apps in the MAGFest ecosystem that use Uber's jsonrpc API to implement these kinds of features. This includes Tuber (staff hotel requests), the staff suite app, and the challenges app. I think a tabletop checkins app would also be a good fit as it has minimal dependencies on the rest of Uber's functionality (you really just need to look up badge #s).

This would give you more flexibility to build the functionality you need without having to learn Uber's existing tech stack, plus it should be easier for you to maintain. Adding API endpoints to Uber is also very simple if your app needs something our existing API doesn't have.

If that sounds like too much, we can instead rewrite the tabletop checkins feature inside Uber using our existing stack, which would largely mean using Jinja2, Bootstrap 5, and DataTables. We have existing pages that work similar to this page, including the filtering (DataTables can do that on its own), so that would be a pretty straightforward project.

@seanmhanson
Copy link
Author

seanmhanson commented Feb 14, 2024 via email

@kitsuta
Copy link
Member

kitsuta commented Feb 16, 2024

Oh, would it not be easier to have it as a separate app/in a separate repo? That's what I meant regarding being easier to maintain

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants