Platters App
This application, Platters App, is an example web application developed using React and associated technologies.
Build Status
Core Technologies
Significant JavaScript Libraries
- axios
- Numeral.js
- Pluralize
- React-Bootstrap
- React Router
- jwt-decode
- velocity-react
- nprogress
- local-time
- linkify-lite
Deployment
Development
Testing
Miscellaneous application features
The main content React components use HTML5 pushState such that browser navigation correctly transistions through client-side page changes.
-
Live Search Result
Artists and Albums search results will update live as a user is typing in search terms. Note, debounce of 500ms is used control how often search results are retrieved from the back-end server.
-
Busy submission buttons
Form submission buttons, such as the Albums filter Select button, will display a spinner icon whilst the submitted form is being processed.
User sign-up incorporates simple honeypot field protection against internet bots.
-
Short-lived API tokens with unobstrusive refreshing
User session tokens (JWT) created by the server are short-lived (30 minutes), but are unobtrusively refreshed by this application (up to 6 months). Note, resetting a user password via Forgot Password? will revoke all current sessions for that user, useful if the user has had their session hijacked via a lost of stolen machine.