Overall Architecture

The application lives in a just a few actually active files:

  • index.html
    handles login and email validation initiation prompt for both new account creation and password recovery
  • validate.html handles email validation after the initial email was sent for both account creation and password recovery
  • app.cs
  • scripts/app.js
  • scripts/http.js

Dependencies Used

  • BootStrap 5
  • FontAwesome 6
  • VueJs 3
  • Axiom (http client)
  • Toastr

All of these dependencies live in the ./libs folder which can be copied verbatim

Additional Requirements

  • SMTP EMail Server

In order to create and validate accounts and recover passwords, email address verification is used. An email is sent to the user signing up or recovering a password that contains a verification key that has to be provided in the new password generation process.