We're developing a web application that is now growing to quite a few pages, all dealing with complex data and rather complex interactions between pages.
For instance, the login flow encompasses the following different possible requests to our controllers:
- Login -> Forgot Password -> Send email [POST only] -> Password reset token -> New password submit -> Back to Login
- Login -> Create New User -> Signup [POST only] -> Send activation email
- Login -> Process new invite requests -> Main page
...and a couple of more different variations, all including sending emails, asking for verification/activation tokens; and that's not even starting to touch upon the multiple wizard-like pages for connecting to external applications and so on.
Is there a good way of documenting all of these different URLs, their parameters, and the ways that these interact with each other? For complex web applications, having a way to refer to all these different requests must be a rather good resource... And especially in terms of security, being able to visually inspect the flow of requests and spotting potential glitches. (Hey, why is this page a GET? It should be a POST with CSRF protection!)
I just don't feel like a Word document is enough... UML? xmldoc?
Not that it matters at all, but it's written in C#.