package used on this project
@hapi/jo: It provides a straightforward and efficient way to validate JavaScript objects to ensure they meet specific criteria
bcrypt: Hashing is a one-way cryptographic process that converts a password into a fixed-size string of characters, which is practically impossible to revert back to the original password.
http-errors: library is used to create and handle HTTP errors in a consistent and readable manner.
jsonwebtoken: JSON Web Tokens (JWTs) are commonly used for authentication and authorization purposes.
mongoose : It provides a straightforward, schema-based solution to model your application.
Morgan: Morgan is a popular middleware library used in Node.js applications to log HTTP requests. It is often used in conjunction with Express.js to provide a standardized way to log incoming requests, which can be invaluable for debugging and monitoring.
express: Express is a minimal and flexible Node.js web application framework that provides a robust set of features to develop web and mobile applications