Repo contains nodeJS apps which implement the API with and without a UI. The api endpoints use PassportJS with the details stored in a MongooseDB. The app also utilizes express sessions to prevent the user accessing certain pages without logging in and also openeing up access to other content if authorized
Using the PassportJS Mongoose strategy, the password is securely hashed and stored on mongoose. The passport is stored only in a salted hashed form to prevent leaks or security issues. The password update endpoint creates a new alumni object with the same data and a different password and is hashed as a new entry with the same alumniID and the older object is removed
Salted and Hashed storage of detailsThe app with the UI makes certain changes to the nature of the api endpoints from the specified request type in the document in order to serve the data correctly with POST and GET requests. The app without the UI adheres to the specifications and also adds a logout endpoint to unauthenticate the session.