This will be tweaked a lot more but i really need to go study for something instead of doing this
2.5 KiB
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
.envfile for the api keys and other runtime info to be set, rather than in the.pyfiles- 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)