400, 401, 403, 404, something else?
If the server refuses to apply the request, and wants to call attention specifically to the request's Authorization headers, then the appropriate status code is 401.
403 is similar, but less specific - once again, it indicates that the server understood the request, but won't apply it; the difference is that this status ...
A PWA is nothing more than a Client. Clients and Servers have existed for decades, and often they share logic.
To handle shared logic the tried and tested methods are:
Literally share the logic as a library.
Duplicate the implementation, but have a single specification.
In short write ...
Stateful means your server has awareness of client and it's state. Instead of thinking in terms of services (SOAP or Rest) think in terms of web application. Change in thinking the way you do will change your perspective the way you are looking at solution.
Generating a transaction ID at step 1 may not be precise because many transactions may overlap or the user using the back button might confuse the process or restart several times the same process. But it is still the cheapest way to keep track of multiple events. It is also normal that complex processes have multiple transactions and transaction IDs at the ...