PartyJukebox/wishlist.md
Kristy F 8a5534482b Add versionNum Object, pages for search
This will be tweaked a lot more but i really need to go study for something instead of doing this
2026-04-14 12:53:26 -04:00

2.5 KiB

Wishlist

Features I would like to add, will be completed in any order

  • Pages of song results, to avoid very long pages and large data being sent
  • RESTful design
    • Change all necesary POSTs to GET,DELETE (probably not PUT)
    • Write an api layout
      • Despite the fact this isn't necesary (nobody but the app should access any url but root) it's probably still a good idea. It's going to be very simple anyway
  • Loading indicator while awaiting server stuff
  • Refactoring existing code
    • Remove old comments
    • Update the SQL -> Server -> Client pipeline when searching and building playlist
      • Moving to mongo might make more sense to maintain a dictionary/JSON like format, but that needs a server
    • Verify all if-else sequences are correct and not redundant
  • Security Updates
    • .env file for the api keys and other runtime info to be set, rather than in the .py files
    • Hashing rather than plaintext sending passwords (that way at least the password text itself isn't transmitted over the network)
    • Actually use TLS, for posting
  • Accessibility
    • Better use of semantic HTML tags
    • Full keyboard control (tab, enter to select, tab between control buttons)
  • GUI update for client
    • Playlist items look cleaner
    • Dark mode
    • New Icons
    • Google material design (Not sure I want this anymore)
  • "Credit" system so each client can only add a set number of songs
    • Based on time period, number in queue, other possible ideas for credits
    • Without a login system there's no easy way to give credits to specific clients (and a login is beyond scope of what I want to do)
      • Potentially a "redemption code" system, which can be tracked client side
    • All of this is very hackable without a server-side login.

Completed Features

These will still be updated, but they're in a state that I am happy with them

  • Admin password
  • Websockets / some method of updating the time remaining to any client on the playlist screen
    • Set a timeout to change the time (to start)
    • Send updates to the playlist in real time when songs are added
      • Update the playlist's html without destroying it (create 1 new element)
    • Tell clients looking at the playlist when the song has been paused (so they can pause the local timers)
    • Settings updates
      • Without re-posting the server (contain update data in websocket ping)